문제 설명
문제 풀이
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차로 컨디션 내앤조.... (승헌쓰 비염 참고)
빨리 컨디션 회~복 하고 코드 예쁘게 바꿔놓을께욤..^_^
'Study > 코딩테스트' 카테고리의 다른 글
[프로그래머스 / 2022 KAKAO BLIND RECRUITMENT / Python]k진수에서 소수 개수 구하기 (0) | 2022.02.14 |
---|---|
[프로그래머스 / 그래프 / Python] 순위 (0) | 2022.02.07 |
[프로그래머스 / 2022 KAKAO BLIND RECRUITMENT/ Python] 신고 결과 받기 (0) | 2022.02.07 |
[ 프로그래머스 / 동적계획법(Dynamic Programming) / Python ] N으로 표현 (0) | 2022.01.18 |
[프로그래머스 / 깊이/너비 우선 탐색(DFS/BFS) / Python] 여행 경로 (0) | 2022.01.10 |