본문 바로가기
알고리즘/Python

[알고리즘] python(파이썬) - 트럭 주차

by 조이은 2023. 6. 7.

https://www.acmicpc.net/problem/2979

 

2979번: 트럭 주차

첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장

www.acmicpc.net

 

백준 2979번 : 트럭 주차

 

접근 방식
1. 트럭이 주차장에 도착한 시간과 주차장에서 떠난 시간을 clocks 리스트에 저장한다. 
    -> 이때, 세 개의 트럭 중 가장 먼저 도착한 시간과 가장 늦게 떠난 시간을 min과 max에 각각 저장한다.
2. min과 max사이의 시간을 1씩 늘려가며 반복하면서 해당 시간에 몇 대의 차가 주차되어 있었는지 count를 통해
   세아리면서 확인한다.
3. count와 a, b, c를 각각 곱하여 sum에 더한다. 

 

 

코드
a, b, c = map(int, input().split())
clocks = []
sum = 0

min = 100
max = 0
for i in range(3) : 
    arrive, depart = map(int, input(). split())
    if arrive < min : min = arrive
    if depart > max : max = depart
    
    clocks.append([arrive, depart])
    
for i in range(min, max):
#     print('(', i, '~' ,i+1,')')
    count = 0
    
    for clock in range(len(clocks)) :
    
        if clocks[clock][0] <= i and clocks[clock][1] >= i+1:
            count += 1
        
        if clock == len(clocks)-1 :
            if count == 3:
                sum += c*3
            elif count == 2:
                sum += b*2
            elif count == 1:
                sum += a*1
      
print(sum)

 

 

고찰

오랜만에 파이썬으로 문제를 풀었다. 생각보다 조금 재밌을 지도..

구현 공부한 것과 연관있는 문제라서 풀었는데, 사실 어떤 점이 많이 연관있는지는 잘 모르겠지만...........열심히 해야겠다......