프로그래머스 문제풀이/Level 1

부족한 금액 계산하기 (자바, Java)

뮤츠 2023. 1. 19. 02:34

풀면서 어려운 부분이 있었던건 아니었는데, 한번 틀려서 띠용? 하고는 해결법을 찾음.

나는 반복문을 돌리지 않고, 고교때 배웠던 합공식 n(n+1)/2로 풀었는데,

이걸로 풀다보니, int로 받은 매개변수들끼리 계산하면서 int를 넘어 overflow 하는 경우가 생김.

따라서, 맨 처음 인자값을 long으로 미리 바꿔줘야 한다.

무식하게 반복문돌려서 하나씩 더하면, 이런 걱정 없음.

class Solution {
    public long solution(int price, int money, int count) {
        long answer = 0;
        long cost = (long)price * count * (count+1) / 2;
        if (money<cost) {
            answer+=cost-money;
        }

        return answer;
    }
}