[백준] 2979 트럭주차

0

문제

https://www.acmicpc.net/problem/2979
상근이는 트럭을 총 세 대 가지고 있다. 오늘은 트럭을 주차하는데 비용이 얼마나 필요한지 알아보려고 한다.

상근이가 이용하는 주차장은 주차하는 트럭의 수에 따라서 주차 요금을 할인해 준다.

트럭을 한 대 주차할 때는 1분에 한 대당 A원을 내야 한다. 두 대를 주차할 때는 1분에 한 대당 B원, 세 대를 주차할 때는 1분에 한 대당 C원을 내야 한다.

A, B, C가 주어지고, 상근이의 트럭이 주차장에 주차된 시간이 주어졌을 때, 주차 요금으로 얼마를 내야 하는지 구하는 프로그램을 작성하시오.

풀이(c++)

#include <bits/stdc++.h>
using namespace std; 
string str;
int cnt[104], A, B, C, a, b, answer;
int main(){
    ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    cin>>A>>B>>C;
    for (int i = 0; i < 3; i++)
    {
        cin>>a>>b;
        for (int i = a; i < b; i++) cnt[i]++;
    }
    for(char c : cnt){
        if(c==1) answer+=A;
        else if (c==2) answer+=B*2;
        else if (c==3) answer+=C*3;
    }
    cout<<answer<<endl;

    return 0;
}

python

a, b, c = map(int, input().split())
arr = [0]*100; answer=0
for _ in range(3):
    begin, end = map(int, input().split())
    for i in range(begin, end): arr[i] += 1
for j in arr:
    answer += {0:0, 1:a, 2:b*2, 3:c*3}[j]
print(answer)

0개의 댓글

관련 채용 정보