728x90
프로젝트 하느라 코테 연습을 좀 등한시했어서 오랜만에 다시 해봤더니 위클리 챌린지라는 게 생겼다.
using namespace std;
long long solution(int price, int money, int count)
{
long answer = 0;
for (int i = 1; i <= count; i++) {
answer += i * price;
}
if (answer > money) return answer - money;
else return 0;
}
알고리즘 자체의 난이도는 쉬우나, money 의 범위가 10억이기 때문에 answer를 기본 설정된대로 int로 두면 문제가 생긴다. int 의 자료형은 약 -21억~21억의 수를 담을 수 있기 때문이다.
count와 price의 곱을 계속 더해주므로 실제 answer의 자료형은 int보다 큰 long, long long 등으로 해주면 된다.
'[C_C++]코딩테스트 연습 > [프로그래머스] level 1' 카테고리의 다른 글
[C++] 프로그래머스 - 체육복 (그리디) (0) | 2022.08.25 |
---|---|
[C++] 콜라츠 추측 - 3번째 기본 예제, 13번 주의 (0) | 2021.07.30 |
[C++] 프로그래머스 - 이상한 문자 만들기 (0) | 2021.07.30 |
[C++] 프로그래머스 - 시저 암호 (0) | 2021.07.23 |
[C++] 프로그래머스 - 소수 찾기 (0) | 2021.07.23 |