안나와 브라이언이라는 두 친구가 저녁 식사 후 계산서를 어떻게 나눌지 결정하는 상황입니다. 각자 자신이 소비한 항목에 대해서만 비용을 지불하기로 합니다. 브라이언이 계산서를 받아 안나가 지불해야 할 부분을 계산하게 됩니다. 이 문제에서는 브라이언의 계산이 올바른지를 판단해야 합니다. 예를 들어, 계산서에 여러 항목의 가격이 있고, 안나는 그 중 하나의 항목을 먹지 않기로 결정합니다. 브라이언이 계산을 올바르게 한 경우, 안나는 그녀의 부분에 대해 정확한 금액을 지불합니다. 만약 브라이언이 안나가 먹지 않은 항목의 비용까지 포함하여 계산한다면, 그는 안나에게 차액을 환불해야 합니다.
매개변수:
- bill: 각 항목의 비용을 나타내는 정수 배열
- k: 안나가 먹지 않은 항목의 0 기반 인덱스
- b: 안나가 계산서에 기여한 금액
풀이 :
function bonAppetit(bill, k, b) {
const bills = bill.reduce((acc, cur, index) => index !== k ? acc+ cur: acc, 0)
const result = (bills/2) === b ? 'Bon Appetit' : b - (bills/2)
console.log(result)
}
특정 index를 제외한 배열 요소의 합을 구하고 조건에 따라 문구 또는 돌려줘야하는 금액을 반환합니다.
'Fundamentals > Algorithms' 카테고리의 다른 글
[해커랭크] Counting Valleys (0) | 2023.12.06 |
---|---|
[해커랭크] Sales by Match (0) | 2023.12.05 |
[해커랭크] Day of the Programmer (0) | 2023.12.05 |
[해커랭크] Migratory Birds (0) | 2023.12.04 |
[해커랭크] Divisible Sum Pairs (0) | 2023.12.04 |