알고리즘 고득점 Kit > 2022 KAKAO BLIND RECRUITMENT > 주차 요금 계산
주차 요금 계산 Lv.2
주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다.
아래는 하나의 예시를 나타냅니다.
주차 요금을 나타내는 정수 배열 fees, 자동차의 입/출차 내역을 나타내는 문자열 배열 records가 매개변수로 주어집니다.
차량 번호가 작은 자동차부터 청구할 주차 요금을 차례대로 정수 배열에 담아서 return 하도록 solution 함수를 완성해주세요.
첫 번째 풀이 : 100점
from math import ceil
def solution(fees, records):
answer = []
default_time, default_fee, unit_time, unit_fee = fees
parking = {}
using_time = {}
for record in records:
time, number, io = record.split()
hour, minute = map(int,time.split(":"))
time = hour * 60 + minute
if io == "IN":
parking[number] = time
elif io == "OUT":
if number in using_time:
using_time[number] += (time - parking[number])
else:
using_time[number] = time - parking[number]
del parking[number]
print(parking)
for number, time in parking.items():
if number in using_time:
using_time[number] += 1439 - time
else:
using_time[number] = 1439 - time
for number, time in sorted(using_time.items(), key = lambda x:x[0]):
answer.append(default_fee+ max(0,ceil((time-default_time)/unit_time)) * unit_fee)
return answer
- 구현 문제
- dictionary를 이용해서 풀기
- 연습이 필요함!!
'코딩테스트 | python > 프로그래머스' 카테고리의 다른 글
| [프로그래머스 | python] 숫자의 표현 (0) | 2024.05.28 |
|---|---|
| [프로그래머스 | python] 타겟 넘버 (0) | 2024.05.10 |
| [프로그래머스 | python] 택배상자 (0) | 2024.04.29 |
| [프로그래머스 | python] 디펜스 게임 (0) | 2024.04.16 |
| [프로그래머스 | python] H-Index (0) | 2024.04.04 |