Bill Division | HackerRank
Determine whether or not Brian overcharged Anna for their split bill.
www.hackerrank.com
<문제>

bonAppetit()함수는 돈 계산이 공평하게 되면 Bon Appetit을 출력하고, 아니면 Brian이 Anna에게
줘야할 돈의 액수를 정수로 출력해야한다.
bill: 주문한 물건의 비용을 배열로 저장
k: Anna가 먹지 않은 음식의 개수
b: Anna가 낸 돈
input: 첫번째 줄에는 음식의 개수 n 과 Anna가 먹지 않은 음식 개수 k가 입력받는다.
두번째 줄에는 음식들의 가격이 bill 배열에 입력된다.
세번째 줄에는 Brian이 Anna에게 받은 돈이 입력된다.
<코드>
void bonAppetit(int bill_count, int* bill, int k, int b) {
int sum=0;
for(int i=0;i<bill_count;i++)
{
if(i!=k)
sum+=bill[i];
}
((sum/2)==b) ? printf("Bon Appetit") : printf("%d",(b-(sum/2)));
}
<코드 풀이>
for 루프를 통해 음식의 개수 bill_count만큼 반복하고, sum에 bill[i]를 더해 가격의 총합을 구한다.
만약 sum을 2로 나눈 것이 Anna가 낸 돈 b와 일치한다면 Bon Appetit을 출력하고 아니라면 b에서 sum/2를 뺀 값을 출력한다.
<실행결과>

'c언어 스터디 > HackerRank' 카테고리의 다른 글
| [HackerRank] Migratory Birds (0) | 2021.07.17 |
|---|---|
| [HackerRank] Minimum Distances (0) | 2021.07.10 |
| [HackerRank] Tree- Binaery Search Tree: Insertion (0) | 2021.06.25 |
| [HackerRank] Tree- Level Order Traversal (0) | 2021.06.25 |
| [HackerRank] Electronics Shop (0) | 2021.06.25 |