(문제 해결)
1. 'x만큼 간격이 있는' 알고리즘 문제풀이와 방법을 비슷하게 사용할 수 있다. count를 나열해서 price와 곱하면 price만큼 증가하는 값을 표현할 수 있다.
2. 이 값에서 money를 빼면 된다.
3. 이 값이 0보다 크면 0을 return하기
(해결 방법)
👌 먼저 count 갯수 설정, count 는 자연수니까 1부터 시작
for(let i = 1; i <= count; i++) //이렇게!
👌 총 값을 total이라고 설정해주자, 그럼 위에 변수도 지정해주어야 한다
var answer = 0; //원래 -1로 되어 있는데 answer값은 더하거나 마이너스 해야하므로 0부터 시작
let total =0; // total 변수 설정 완료
for(let i = 1; i <= count; i++){
total += price *i;
}
✅ 나열한 것 더해!! 라는 + 함수는 반드시 = 에 바로 붙여써야 한다. 계속 오류가 나서 뭔지 몰랐는데 += 를 띄어서 쓰고 있었다.
✅ price * i 값은 보면 i가 1부터 시작하니까 price를 3이라고 가정하면 3,6,9,12~~~ 처럼 값을 가져올 수 있고 이 값들을 더하라고 함수를 지정해준 것
👌 이제 답을 도출하면 되니까 total 값에서 money를 빼주면 부족한 값을 answer 로 받아낼 수 있다.
answer = (total - money); // ;를 써주고 싶은데 -가 걸려있어서 () 설정해주었다.
👌(문제설명)에 단, 금액이 부족하지 않으면 0을 return 하라고 되어 있다.
return answer > 0 ? answer : 0;
✅ return 할 때, if 문처럼 해석할 수 있는 것을 처음 배웠다.
return answer > 0 ? // return 할건데 answer가 0보다 크면
answer : 0 ; // answer는 0이라고 해줘, if 쓸 때처럼 해석하면 무리없이 해석 완료
✅ 최종 코드
function solution(price, money, count) { var answer = 0; let total = 0; for(let i = 1; i <= count; i++){ total += price*i; } answer = (total - money); return answer > 0 ? answer : 0; } |
'알고리즘 스터디 > [프로그래머스] 연습문제' 카테고리의 다른 글
[알고리즘] 나누어 떨어지는 숫자 배열 문제풀이(자바스크립트 javascript) (0) | 2022.07.16 |
---|---|
[알고리즘] 2016년 문제풀이(자바스크립트 javascript) (0) | 2022.07.16 |
[알고리즘] x만큼 간격이 있는 n개의 숫자 문제풀이(자바스크립트 javascript) (0) | 2022.07.16 |
[알고리즘] 핸드폰 번호 가리기 문제풀이(자바스크립트 javascript) (0) | 2022.07.15 |
[알고리즘] 평균 구하기 문제풀이(자바스크립트 javascript) (0) | 2022.07.15 |