하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[3코1파] 2023.01.04~ (148일차)
[4코1파] 2023.01.13~ (139일차)
[1스4코1파] 2023.04.12~ (50일차)
[1스4코2파] 2023.05.03 ~ (29일차)
2023.05.31 [148일차]
LeetCode Daily
1396. Design Underground System
https://leetcode.com/problems/design-underground-system/description/
문제 설명
https://leetcode.com/problems/design-underground-system/description/
문제 풀이 방법
옛날에 했던 계산기 class 만드는거 같음
톱밥
.. 맞겠지?
나 또 제약사항 못보고 내맘대로 썼냐
내 코드
class UndergroundSystem:
def __init__(self):
self.system_dict = {}
self.cal_dict = {}
def checkIn(self, id: int, stationName: str, t: int) -> None:
self.system_dict[id] = [stationName,t]
return
def checkOut(self, id: int, stationName: str, t: int) -> None:
time = abs(self.system_dict[id][1] - t)
if self.system_dict[id][0]+'-'+stationName not in self.cal_dict.keys():
self.cal_dict[self.system_dict[id][0]+'-'+stationName] = [time]
else :
self.cal_dict[self.system_dict[id][0]+'-'+stationName].append(time)
return time
def getAverageTime(self, startStation: str, endStation: str) -> float:
if len(self.cal_dict[startStation+'-'+endStation]) !=0:
return sum(self.cal_dict[startStation+'-'+endStation]) / len(self.cal_dict[startStation+'-'+endStation])
증빙
여담
이제 모듈화 해야겠다