알고리즘

프로그래머스 Level 1 -부족한 금액 계산하기(Javascript)

또롱또 2022. 5. 13. 21:30
728x90

https://programmers.co.kr/learn/courses/30/lessons/82612

function solution(price, money, count) {
    var answer = -1;
    // 내가 필요한돈
    let need = 0;
    // 빈배열
    let arr = [];
    
    // for문을 돌면서 배열에 price배수를 넣어줄 예정
    //arr.push(price*i) - i가 0이면 price에 곱해서 0이되버려서
    // i=1로 시작하고 대신 count도 1 늘려줌
    for(let i=1; i<count+1; ++i){
        arr.push(price*i)
        // 필요한돈에 배열의 0번인덱스부터 넣어주기위해 1을빼줌
        need += arr[i -1]
    }
    // 답은 필요한돈 - 가진돈
    answer = need - money;
    // 근데 가진돈이 많을경우는 0을리턴
    if(answer < 0)
        return 0
    
    return answer;
}

나는 배열을 사용해서 필요한 데이터들을 관리했다.

정답코드는 가우스공식을 이용했다.

 

function solution(price, money, count) {
    const tmp = price * count * (count + 1) / 2 - money;
    return tmp > 0 ? tmp : 0;
}
728x90