알고리즘/프로그래머스 1단계

프로그래머스 - 부족한 금액 계산하기 - C++

게임만드는학생 2023. 10. 10. 18:47

https://school.programmers.co.kr/learn/courses/30/lessons/82612

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

using namespace std;

long long solution(int price, int money, int count)
{
    long long answer = money;

    for(int i=1;i<=count;i++)
    {
        answer -= (long long)price*i;
    }
    if(answer>0)
        return 0;
    else
        return answer*-1;
}

 

설명

이 문제는 놀이기구를 count번탈 때의 총 비용보다 money가 작은지 큰지를 비교해서 크면 0을 작으면 얼만큼 작은지를

반환해주는 문제이다.

그리고 놀이기구의 비용은 탈때마다 + price만큼 가격이 증가한다. 그러니 n번째 타는 놀이기구의 비용은 n * price라 한다. 

 

처음에  초기값인 moeny를  answer에 저장한다. 

그리고 놀이기구의 비용을 빼는 방식으로 계산한다. 

 

for문으로 1부터 count번까지 돌며 price*i를 money에서 계속 빼준다. 

그러면 money에 남은 금액이 count번 타는 금액을 현재 자신이 가진돈에서 뺀 값이 된다. 

 

money가 음수라면 돈이 부족하다는 것이고 *-1을 하면 얼마가 부족한지를 알게 된다.

또 양수라면 부족하지 않다는 것이기 때문에 0을 리턴한다.