all is well!!

12. 부족한 금액 계산하기 본문

알고리즘(js)

12. 부족한 금액 계산하기

tnqlscho 95 2022. 10. 25. 22:47

😇  문제

 

🙏  답

function solution(price, money, count) {
    var answer = -1; // 왜 주어진 초기값이 -1이지..???
    let array = [];
    let sum = 0;
    
    answer = 0 // 일단 0으로 변환..
    
    for(let i=1; i<=count; i++){
        array.push(price*i)
    }
    
    array.forEach((item)=>sum+=item) // forEach로 배열값 더하기
    
    if(sum<=money){
        answer = 0;
    }
    else{
        answer = sum - money;
    }
    
    return answer
}

// price = 이용금액 / money = 내가 가진 총 금액 / count = 내가 타고싶은 횟수
// 1. count 횟수만큼 price 초기값만큼 계속 누적되어 price 값이 더해짐 - for문으로 배열을 만들어서 배열을 더해보자
// 2. 누적되어 더해진 price값에서 money 값을 빼기
// 3. 금액이 부족하지 않으면 0반환 조건걸기

 

** 다른 분들의 간결한 답변 참고** 

1. if문을 삼항연산자로 고치기 (자꾸 삼항연산자 있다는걸 까먹는다..ㅠㅠ 자주자주 써봐야지)

2. 배열에 저장해서 고치는것을 for문 안에서 answer값에 바로 price*i값을 더해서 값 출력하기

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

 

이렇게 코드의 길이와 가독성이 차이나버린다...ㅠㅠㅠㅠ

간결하고 좀더 가독성있는 코드로 리팩토링 하는 연습 해봐야지...

'알고리즘(js)' 카테고리의 다른 글

14. 나누어 떨어지는 숫자 배열  (0) 2022.10.27
13. 2016년  (0) 2022.10.26
11. x만큼 간격이 있는 n개의 숫자  (0) 2022.10.22
10.행렬의 덧셈  (0) 2022.10.20
9. 핸드폰 번호 가리기  (0) 2022.10.19
Comments