https://school.programmers.co.kr/learn/courses/30/lessons/82612
처음에는 그냥 무지성으로 했었다
function solution(price, money, count) {
let answer =0;
while(count>=1){
answer+=price*count
console.log(answer)
count--
}
return answer-money>=0?answer-money:0
}
그냥 뱅글뱅글돌려버려!~~~~했는데 시간이 엄청 오래걸렸다.
글을 잘 보니까 price*n의 등차수열이길래
n까지의 합을 구하는 식 n(n+1)/2 식을 이용하여 문제를 푸니까 아주 초고속으로 통과가 되었다.
function solution(price, money, count) {
let answer= (price*count*(count+1)/2 -money)
return answer>=0?answer:0
}
+ 하나가 통과가 안된걸 확인하지 못했다. 수정해다시올린다
'알고리즘 > 프로그래머스 문제-JS' 카테고리의 다른 글
[JS] 겹치는 선분의 길이 (0) | 2022.11.01 |
---|---|
[JS]키패드 누르기 (0) | 2022.07.12 |
[JS]최소직사각형 (0) | 2022.07.06 |
[JS] 비밀지도 (0) | 2022.07.03 |
[JS]최대공약수와 최소공배수 (0) | 2022.06.27 |