[프로그래머스] 부족한 금액 계산기

2021. 10. 7. 01:24TIL💡/Algorithms

프로그래머스: 문제

 

코딩테스트 연습 - 1주차_부족한 금액 계산하기

새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이

programmers.co.kr

상당히 쉬운 문제이나 네이버 코딩테스트의 올해 상반기 기출이었다는 점을 고려하여 리뷰를 작성한다.

이 문제는 당황하지 않고 등비수열의 공식만 잘 적용하고, 사칙연산을 수행하면 된다.

대신 Type Casting에 주의해야 한다. 특히 테스트케이스를 많이 주지 않는 네이버의 코딩테스트의 특성상 더욱 세심한 처리가 필요하다.

(long long)price * count * (count + 1) / 2

전체코드는 저렇게 원래 필요한 금액에서 가지고 있는 금액을 차감하면 된다.

using namespace std;

long long solution(int price, int money, int count)
{
    long long left = ((long long)price * count * (count + 1) / 2) - (long long)money;
    if(left <= 0) return 0;
    return left;
}

하지만 예외처리로 음수가 나오는 경우에는 0으로 리턴해줘야 한다.

'TIL💡 > Algorithms' 카테고리의 다른 글

[백준] 2531 회전초밥  (0) 2021.10.08
[백준] 2096 내려가기  (0) 2021.10.07
[프로그래머스] 퍼즐 조각 채우기  (0) 2021.10.07
[프로그래머스] 실패율  (0) 2021.10.07
[프로그래머스] 신규 아이디 추천  (0) 2021.10.06