알고리즘 : 프로그래머스 : JAVA : 부족한 금액 계산하기

2022. 1. 15. 14:48알고리즘/프로그래머스

반응형

<문제>


<코드>

class Solution {
    public long solution(int price, int money, int count) {        
        long payment = 0;

         // 1. 놀이기구를 타기위한 총 비용을 계산
        for (int i = 1; i <= count; i++) {
            payment += price * i;
        }

        // 2. 가진 돈과 비교 하여 return 값 지정
        return payment - money > 0 ? payment - money : 0;
    }
}

<설명>

 

1. 1부터 count번까지 요금을 곱해가며 총 금액을 payment에 저장한다.
2. 총 금액이 자신이 가지고 있는 금액보다 크다면 차액을 return한다, 아닐시 0을 reuturn한다.


<다른 풀이방법 : 코드>

class Solution {
    public long solution(int price, int money, int count) {
        long answer;
        long sum = 0;
        long result;
        
        //요금 합 계산
        for(int i=1; i<count+1; i++){
            result = i * price;
            sum += result;
        }
        
        if(sum - money > 0){
            answer = sum - money;
        }
        else answer = 0;

        return answer;
    }
}

<다른 풀이방법 : 설명>

 

1. 요금의 합을 계산하기 위해서

for문에서 요금을 곱한 값을 임시로 저장하는 result 변수와 요금의 최종 합을 계산하는 sum 변수를 선언한다.

2. if문을 써서 만약 최종 합이 가진 돈보다 적으면 그 차액을 리턴하고, 아니면 0원을 리턴해라.

 

-처음에는 int 형으로 선언하였는데 solution 함수가 long 형이라 일부 테스트케이스에서 값이 오버되어 틀렸다고 결과가 나온다. 그래서 변수를 long 형으로 선언한다.

반응형