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을 리턴한다.
'알고리즘 > 프로그래머스 1단계' 카테고리의 다른 글
프로그래머스 - 문자열 다루기 기본 - C++ (0) | 2023.10.12 |
---|---|
프로그래머스 - 행렬의 덧셈 - C++ (0) | 2023.10.11 |
프로그래머스 - 내적 - C++ (0) | 2023.10.09 |
프로그래머스 - 하샤드 수 - C++ (0) | 2023.10.08 |
프로그래머스 - 수박수박수박수박수박수? - C++ (1) | 2023.10.07 |