알고리즘
프로그래머스 - 부족한 금액 계산하기
Heidong
2022. 6. 29. 00:20
반응형
내 풀이
public class P_32 {
public long solution(int price, int money, int count) {
// 부족한 금액 계산하기
long answer = -1;
long cal_price = price;
for(int i=2; i<=count; i++) {
cal_price += (price * i);
}
answer = Math.abs(money - cal_price);
if(money - cal_price >= 0) {
answer = 0;
}
return answer;
}
public static void main(String[] args) {
P_32 p = new P_32();
int price = 3;
int money = 20;
int count = 4;
System.out.println(p.solution(price, money, count));
}
}
간단한 문제지만 주의할 점
int형으로 계산을 돌리면 테스트19 ~ 22가 오류가 나온다.
아마 int형의 자릿수 한계를 넘어서서 계산하기 때문인 것 같다.
long형으로 계산해줘야 한다.
Math의 abs() 메소드 = 절대값 구할때 사용
다른 사람 풀이
class Solution {
public long solution(long price, long money, long count) {
return Math.max(price * (count * (count + 1) / 2) - money, 0);
}
}
등차수열의 합을 이용한 풀이 방법
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=junhyuk7272&logNo=221247061276
반응형