프로그래머스의 부족한 금액 계산하기 문제이다.
[ 문제풀이 ]
놀이기구를 N번째 이용하게 될 경우, 이용료를 원래 이용료의 N배를 받을 때, 금액이 얼마 모자란지를 구해야 하는 문제이다.
단순 반복문으로 문제를 해결할 수 있다. 놀이기구의 이용 횟수가 최대 2500번이기 때문에, 매번 이용할 때 마다 금액을 N배 하면서 계산을 하더라도 충분히 무리없이 문제 해결이 가능하다.
구체적으로 이야기해보자.
처음에 가진 금액을 'M'원이라고 표현해보자. 그리고 놀이기구의 기본 이용료를 'K'원이라고 가정해보자.
그리고 이 놀이기구를 5번 이용한다면 총 금액은 어떻게 될까 ??
K + (2 * K) + (3 * K) + (4 * K) + (5 * K) 가 될 것이다. 이를 간편하게 'A'라고 표현해보자.
그럼 위의 금액이 부족한지는 어떻게 판단할 수 있을까 ??
바로 M에서 위의 금액을 빼보면 될 것이다.
즉, M - A 가 0보다 크거나 같다면 0을, 그게 아니라면 부족한 금액을 출력하면 된다.
[ 소스코드 ]
1
2
3
4
5
6
7
8
9
|
using namespace std;
long long solution(int price, int money, int count)
{
long long answer = money;
for(int i = 1; i <= count; i++) answer -= price * i;
if(answer >= 0) return 0;
return answer * - 1;
}
|
cs |
'[ Programmers Code ] > # PG - Level1' 카테고리의 다른 글
[ 프로그래머스 상호평가 (Lv1) ] (C++) (0) | 2021.09.02 |
---|---|
[ 프로그래머스 완주하지 못한 선수 (Lv1) ] (C++) (4) | 2021.08.11 |
[ 프로그래머스 숫자 문자열과 영단어 (Lv1) ] (C++) (2) | 2021.07.12 |
[ 프로그래머스 로또의 최고 순위와 최저 순위 (Lv1) ] (C++) (0) | 2021.06.21 |
[ 프로그래머스 다트게임 (Lv1) ] (C++) (0) | 2021.04.05 |