프로그래머스의 부족한 금액 계산하기 문제이다.

 

[ 문제풀이 ]

놀이기구를 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 >= 0return 0;
    return answer * - 1;
}
cs

 

 

+ Recent posts