https://school.programmers.co.kr/learn/courses/30/lessons/82612
나의 코드
function solution(price, money, count) {
let result = money
for(i=1; i<=count; i++){
result -= price * i
}
return result > 0 ? 0 :Math.abs(result);
}
문제가 쉬워서 넘어갈려고 했지만 다른 사람 풀이보고 리뷰해야겠다고 생각했다
다른 사람 풀이
function solution(price, money, count) {
const tmp = price * count * (count + 1) / 2 - money;
return tmp > 0 ? tmp : 0;
}
1~ n 까지의 합은 n*(n+1)/2
이 공식을 왜 생각을 못했을까 ??
이 합에서 money를 빼주고 그 값이 양수이면 0을 return 음수이면 그 값의 절대값을 return하면 되는 것을
수학공식도 적절할때 쓸 수 있는지 확인하자
'알고리즘 > 프로그래머스 - JS' 카테고리의 다른 글
[프로그래머스-JS]level.1 가운데 글자 가져오기 (0) | 2022.07.23 |
---|---|
[프로그래머스-JS] level.1 [1차] 비밀지도 ★ <비트연산> (0) | 2022.07.23 |
[프로그래머스-JS] level.1 나머지가 1이 되는 수 찾기 (0) | 2022.07.22 |
[프로그래머스-JS] level.1 최소직사각형 (0) | 2022.07.22 |
[프로그래머스-JS] level.1 2016년 ( 요일 맞추기) (0) | 2022.07.21 |