1일 1코테 day 35 _ 부족한 금액 계산하기

konut ko·2022년 9월 10일
0
post-custom-banner

문제

나의 풀이

횟수가 1, 2, 3 ... 늘어날 때마다
이용가격도 1배, 2배, 3배, ... 늘어나므로
100원1 + 100원2 + 100원3 + ...
= 100
(1+2+3+...+n)
= 100(n(n+1)/2)
임을 이용했다.

function solution(price, money, count) {
let pay = count*(count+1)/2*price
    return pay>money ? pay-money : 0
}

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ?

넘의 풀이1

넘의 풀이2

function solution(price, money, count) {
    const expectedMoney = Array.from({ length: count }).reduce((acc, _, idx) => (acc += (idx + 1) * price), 0);
    const gap = money - expectedMoney;

    return gap > 0 ? 0 : gap * -1;
}

위에 if문 풀이랑 배열에 담는 아이디어는 같은데 reduce를 사용해서 식이 좀 더 간결해짐.

넘의 풀이 3

이런거 어떻게 하는거야 대체

profile
보초딩코라 틀린 내용 있을 수도 있습니다. 댓글 지적 환영
post-custom-banner

0개의 댓글