코딩/알고리즘

[파이썬][백준]2979 트럭주차

알파세 2018. 7. 27. 22:59

# -*- coding: utf-8 -*- class time_Obj(): def __init__(self,arrive,leave): self.arrive = arrive self.leave = leave if __name__ == "__main__": max = 0 #time_List 타임 리스트를 넣는 오브젝트 time_List = [] A,B,C = map(int, input().split(' ')) for i in range(3): at,lt = map(int ,input().split(' ')) if( max < lt ): max = lt time_List.append(time_Obj(at,lt)) time = 0 time_flow_q = [] value = 0 while(True): for time_Obj in time_List: if (time_Obj.arrive == time) : time_flow_q.append(time_Obj) for truck in time_flow_q : if( truck.leave == time ): time_flow_q.remove(truck) #현재 몇 개의 차가 주차되있느냐 #그에 따라 요금 부과 if (len( time_flow_q)== 1 ): value += A * 1 elif(len( time_flow_q) == 2 ): value += B * 2 elif (len( time_flow_q) == 3 ): value += C * 3 #시간 flow time += 1 if( len(time_flow_q) == 0 and time > max ): break print(value)


# 상근이는 트럭을 총 세 대 가지고 있다. 오늘은 트럭을 주차하는데 비용이 얼마나 필요한지 알아보려고 한다.

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

# 트럭을 한 대 주차할 때는 1분에 한 대당 A원을 내야 한다. 

#두 대를 주차할 때는 1분에 한 대당 B원, 

#세 대를 주차할 때는 1분에 한 대당 C원을 내야 한다.

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

# 첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100)

# 다음 세 개 줄에는 두 정수가 주어진다. 

# 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장에서 떠난 시간이다. 

# 도착한 시간은 항상 떠난 시간보다 앞선다. 

# 입력으로 주어지는 시간은 1과 100사이 이다.

# 5 3 1

# 1 6

# 3 5

# 2 8




오랜만에 푼 문제 


문제에서 설명해준 대로 코드를 작성하면 된다


자그마치 8개월전에 도전했다가 런타임에러로 못풀었던 문제인데


코드를 보니 그게 더  깔끔하고 효율적이더라


..퇴보했다..ㅜㅜ..