✔ 부족한 금액 계산하기
문제 분석하기
이용료를 N배만큼 증가시키며 그 값을 처음 가지고 있는 금액에서 빼며 계산하도록 함
손으로 풀어보기
- count만큼 이용료를 증가시키며 처음 가지고 있는 금액에서 빼며 계산
- 처음 가지고 있던 금액이 0보다 작으면 -을 붙여 반환, 0보다 작지 않다면 0 반환
슈도코드 작성하기
price(놀이기구의 이용료)
money(처음 가지고 있던 금액)
count(놀이기구의 이용 횟수)
answer(현재 자신이 가지고 있는 금액에서 얼마가 모자라는지) = money
for(i -> 1부터 count까지) {
answer -= price * i
}
if (금액이 부족하다면)
return -answer
else
return 0
코드 구현하기
/**
* 82612) 부족한_금액_계산하기
*/
public class L051_82612 {
// price(놀이기구의 이용료)
// money(처음 가지고 있던 금액)
// count(놀이기구의 이용 횟수)
public long solution(int price, int money, int count) {
// answer(현재 자신이 가지고 있는 금액에서 얼마가 모자라는지) = money
long answer = money;
// count만큼 이용료 계산
for (long i = 1; i <= count; i++) {
answer -= price * i;
}
// 금액이 부족하다면
if (answer < 0)
return -answer;
// 금액이 부족하지 않다면
else
return 0;
}
// 테스트 케이스
public static void main(String[] args) {
L051_82612 solution = new L051_82612();
int price = 3;
int money = 20;
int count = 4;
long result = solution.solution(price, money, count);
System.out.println(result);
}
}
'Coding Test > Java 알고리즘 실전' 카테고리의 다른 글
[77884] 약수의 개수와 덧셈 (0) | 2023.12.19 |
---|---|
[81301] 숫자 문자열과 영단어 (0) | 2023.12.19 |
[86051] 없는 숫자 더하기 (0) | 2023.12.18 |
[87389] 나머지가 1이 되는 수 찾기 (0) | 2023.12.17 |
[92334] 신고 결과 받기 (0) | 2023.12.16 |