Study/코딩테스트
[프로그래머스 / 2022 KAKAO BLIND RECRUITMENT / Python] 주차 요금 계산
까다로운오리
2022. 2. 7. 17:49
문제 설명
코딩테스트 연습 - 주차 요금 계산
[180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000]
programmers.co.kr
문제 풀이
import math
def solution(fees, records):
answer = []
dic1 = {}
dic2 = {}
for i in records:
time,num,state = i.split(" ")
h, m = time.split(":")
time = int(h)*60+int(m)
if state == "IN":
if num not in dic2.keys():
dic2[num] = 0
dic1[num] = time
if state == "OUT":
dic2[num] += (time - dic1[num])
del dic1[num]
for key,value in dic1.items():
dic2[key] += (23*60+59) - value
dic2 = sorted(dic2.items())
for lst in dic2:
if lst[1] - fees[0] <= 0:
answer.append(fees[1])
else:
answer.append(fees[1]+((math.ceil(int(lst[1]-fees[0])/fees[2]))*fees[3]))
return answer
풀이과정
백신3차로 컨디션 내앤조.... (승헌쓰 비염 참고)
빨리 컨디션 회~복 하고 코드 예쁘게 바꿔놓을께욤..^_^