처음으로 프로그래머스에서 문제를 풀어봤다. 아직 많이 부족하지만 하루에 최소 한 문제, 낮은 레벨 이라도 푸는 연습을 해봐야겠다.

내 풀이

function solution(price, money, count) {
    var answer = -1;
    
    let chk=0;
    for(let i = 1;i<=count;i++){
        chk += (price*i)
    }
    if(chk > money){
        answer = chk - money
    }else{
        answer = 0
    }
    
    
    return answer;
}

큰 어려움은 없었지만,, 뭔가 깔끔한 느낌은 안난다..?? 분명 더 간단한 풀이가 있을 것이다.
제출하는 순간 왜 항상 if문을 3항 조건 연산자로 생각을 못하는지... 많이 풀다보면 더 좋은 방법을 선택할 수 있겠지..?



다른 사람의 풀이

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

제출하고 다른 사람의 풀이를 보고 깜짝 놀랐다, 가우스 공식(?)
아직 수학적으로도 많이 부족한 것 같다. 그래도 생각보다 나의 부족한 코드를 보다가 새로운 방법을 보는것은 재밌는 것 같다.

profile
프론트엔드 개발자가 되겠습니다🔥

0개의 댓글