https://www.hackerrank.com/challenges/bon-appetit/problem
Anna와 Brian이 밥을 먹었다. 계산할 때 Anna가 먹지 않은 음식의 값을 뺀 나머지를 Brian과 나누는데, 돈이 잘 계산됐는지 확인하면 된다. 배열 bill에 음식의 값들이 저장되고, Anna가 먹지 않은 음식의 인덱스는 k에 저장된다. b는 Brian이 Anna에게 청구한 금액인데, 맞으면 Bon Appetit를, 틀리면 Brian이 청구한 금액 - Anna가 낼 금액을 계산해서 출력한다.
void bonAppetit(int bill_count, int* bill, int k, int b) {
int anna = 0;
for(int i=0; i<bill_count; i++){
if(i==k) continue;
anna += bill[i];
}
anna /= 2;
if(anna == b) printf("Bon Appetit");
else {
printf("%d", b-anna);
}
}
anna가 낼 금액을 저장할 변수를 선언하고 초기화한다. bill에 저장된 금액을 더하는데 i가 k와 같을 때는 넘긴다. 더한 금액을 2로 나누고 anna와 b가 같으면 Bon Appetit를 출력, 아니면 b-anna를 출력한다.
'HackerRank > Algorithms' 카테고리의 다른 글
[HackerRank] Implementation > Electronics Shop (0) | 2021.10.10 |
---|---|
[HackerRank] Implementation > Cats and a Mouse (0) | 2021.10.04 |
[HackerRank] Warmup > A Very Big Sum (0) | 2021.09.26 |
[HackerRank] Implementation > The Hurdle Race (0) | 2021.09.19 |
[HackerRank] Sorting > Running Time of Algorithms (0) | 2021.09.19 |