항해 프로그래머스
(다시)항해3주차 자바스크립트 프로그래머스 - 부족한 금액 계산하기
완두노예
2023. 1. 28. 17:09
처음 풀이
function solution(price, money, count) {
let answer = 0;
for(let i = 1; i <= count; i++) {
answer += price * i;
}
if money > answer = return 0
else if money < answer = answer - money
//놀이기구이용*count = price
//for문 돌려서
//금액이 안부족하면 0 리턴
//금액이 부족하면
수정 풀이 : 뭘 써야할지 알긴아는데, 여전히 코드를 참고하지않으면 완벽하게 작성하기 어렵다.
function solution(price, money, count) {
let answer = 0;
for(let i = 1; i <= count; i++) {
answer += price * i;
}
if result = money - answer < 0 {return.result}
else if result = money - answer === 0 {return.result}
//놀이기구이용*count = price
//for문 돌려서
//금액이 안부족하면 0 리턴
//금액이 부족하면
최종 풀이
function solution(price, money, count) {
var answer = 0;
for(let i=1; i <= count; i++){
answer += i * price;
}
if (answer < money) {
return 0
} else {
return answer - money
}
}
//놀이기구이용*count = price
//for문 돌려서
//금액이 안부족하면 0 리턴
//금액이 부족하면
다른 풀이
가우스 공식 이용
function solution(price, money, count) {
const tmp = price * count * (count + 1) / 2 - money;
return tmp > 0 ? tmp : 0;
}
function solution(price, money, count) {
let answer = 0;
for (let i = 1; i <= count; i++) {
answer += price * i;
}
return answer > money ? answer - money : 0;
}
function solution(price, money, count) {
const moneyToPay = (count * (count + 1))/2 * price;
if (money >= moneyToPay) return 0;
return moneyToPay - money;
}
Math.abs 제일 아랫줄! 공부필요
function solution(price, money, count) {
for(let i = 1; i <= count; i++) {
money -= price * i;
}
return money >= 0 ? 0 : Math.abs(money);
}