본문 바로가기

Coding Test/Algorithm

[C++] 프래그래머스 위클리 챌린지 1주차

  • 부족한 금액 계산하기

단순 반복문으로 풀기

#include <iostream>
using namespace std;

long long solution(int price, int money, int count){
    int answer = -1;
    int sum = 0;

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

}

int main(void){
    cout << solution(3, 20, 4) << endl;;
    return 0;
}

등차수열의 합공식 을 이용해 풀기

#include <iostream>
using namespace std;
typedef long long ll;

long long solution(int price, int money, int count){
    long long answer = -1;
    
    answer = (ll)(count * (count+1) / 2) * price; 
    if(answer > money){
        return answer - money;
    }
    else{
        return 0;
    }
}