[TIL] 부족한 금액 계산하기

최하온·2024년 1월 30일
0

TIL

목록 보기
26/71

🚨Issue occuring


💦What I tried


접근방법

n번 째마다 가격이 count배.
가지고 있는 금액이 얼마나 모자른지 return
=> money -= price * count
안 모자르면 0 return

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

반복문 조건은 무조건 1번은 타니 초기값은 1로, 타는 횟수만큼 빼야하니 종료값은 count로 설정.
잔액에서 금액 * 횟수를 빼주고 남은 금액을 리턴해주고, 돈이 남았다면 0을 리턴.

이렇게 하니 모자른 금액 그 자체인 -10이 나왔다.
어떻게 -10을 10으로 변환해줄까?

💡How solve issue


    return money * -1
    return Math.abs(money)

내가 생각해 낸 방법은 -1를 곱하여 부호를 변경하거나 절대값으로 구하는 방법이었다.
결과는 둘 다 성공.

📃What I learned new


Math.abs(): 함수는 주어진 숫자의 절대값을 반환합니다. x가 양수이거나 0이라면 x를 리턴하고, x가 음수라면 x의 반대값, 즉 양수를 반환합니다.
출처 : JS NDN

막연히 절대값만 생각했는데 존재의 유무를 처음 알게 되었음!

🤔Realization


튜터님이 말씀하신대로 접근 방법부터 차근차근 생각해나가면서 하니 막연하지가 않았다.

var answer = 0;도 빼버리고 그냥 return 0을 하거나 삼항 연산자를 쓰면 더 예쁜 코드일 거 같은데 풀기가 급급해서 써먹지 못하고 있다.

어떤 문제는 한 시간을 내리 박아도 못 푸는 문제가 있는데 한참 씨름하고 나면 뿌듯하기도 하고 허무하기도 하고 이게 알고리즘의 재미같다.

0개의 댓글