본문 바로가기

PS

[Programmers] 위클리 챌린지 - 1주차 (부족한 금액 계산기)

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

 

코딩테스트 연습 - 1주차

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

programmers.co.kr

 

문제 파악

N번째 이용한다면 원래 이용료의 N배를 받기로 한다는 문구를 보고 등차수열의 합을 생각했고, 아래 예시 (3+6+9+12)를 보고 확신하였다.

 

등차수열의 합을 구하는 공식은

Sn = n * {2*a + (n-1)*d} / 2 이므로 문제에서는

n(횟수) = count

a(초항) = price

d(공차) = price로 대입하여 풀면 된다.

더보기
//등차수열의 합
//공차 = price
//초항 = price
//n = count
//Sn = n * (2*price + (count-1) * price) /2
class Solution {
    public long solution(int price, int money, int count) {
        long answer = -1;       
        answer = (long)price*count*(count+1)/2 - money;
        return answer >= 0 ? answer : 0;
    }
}

 

'PS' 카테고리의 다른 글

[BOJ]12904번 : A와 B  (0) 2021.08.08
[BOJ]4358번 : 생태학  (0) 2021.08.08
[BOJ]17219번 : 비밀번호 찾기  (0) 2021.07.27
[BOJ] 15829번 : Hashing  (0) 2021.07.25
[Programmers] LV2 - 소수 찾기  (0) 2021.07.20