Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 데드리프트
- 운동
- 체스트프레스
- 하체운동
- 오블완
- PT 운동
- 개인 피티
- 연구 시작
- 티스토리챌린지
- pytorch
- 덤벨운동
- 프로그래머스
- 논문 리뷰
- 암풀다운
- 영화 비평
- github
- 개인 운동
- 디버깅
- 코테 공부
- Knowledge Tracing
- 코드
- 개발자
- 다이어트
- 코딩테스트
- pip install
- 바프준비
- 바디프로필
- 개인 PT
- 코테준비
- 건강
Archives
- Today
- Total
치즈의 AI 녹이기
[코테 공부] 프로그래머스 주차 요금 계산 본문
다음과 같은 순서로 차례대로 함수를 정의하여 구현하였다.
1. 입차 출차에 따라 시간 계산
2. 계산된 시간에 대하여 요금 부여
import math
def calcul_time(in_time, out_time):
in_hour, in_min = int(in_time.split(":")[0]), int(in_time.split(":")[1])
out_hour, out_min = int(out_time.split(":")[0]), int(out_time.split(":")[1])
if out_min - in_min < 0:
sub_hour = out_hour-in_hour-1
sub_min = out_min + 60 - in_min
else:
sub_hour = out_hour-in_hour
sub_min = out_min - in_min
return sub_hour*60 + sub_min
def calcul_pay(fees, num, total_time, pays):
# fees: 기본 시간, 기본 요금, 단위 시간, 단위 요금
fee = 0
if total_time <= fees[0]: #기본 요금만 계산
pays[num] = fees[1]
else: #누적 시간 추가 계산
add_fee = math.ceil((total_time - fees[0])/fees[2]) * fees[3]
pays[num] = fees[1] + add_fee
def solution(fees, records):
cars = dict()
pays = dict()
#시간순으로 기록된 차들 하나씩 확인
for record in records:
check = record.split(" ")
time, num, state = check[0], check[1], check[2]
# 입차인 경우, 주차장 목록에 기록함.
if state == "IN":
if num not in cars:
cars[num] = [time, 0]
else:
cars[num] = [time, cars[num][1]]
else: #"OUT"
in_time, total_time = cars[num]
#누적 주차 시간 계산
total_time += calcul_time(in_time, time)
cars[num] = [None, total_time]
# print(cars)
#요금 정산
for num in cars.keys():
if cars[num][0] is not None:
cars[num][1] += calcul_time(cars[num][0], "23:59")
calcul_pay(fees, num, cars[num][1], pays)
answer = sorted(pays.items(), key=lambda item: item[0])
output = [i[1] for i in answer]
return output
'인공지능 대학원생의 생활 > 동료 코드 따라잡기' 카테고리의 다른 글
[코테 공부] 프로그래머스 보석 쇼핑 (0) | 2023.04.28 |
---|---|
[코테 공부] 프로그래머스 자물쇠와 열쇠 (0) | 2023.04.27 |
[코테 공부] 프로그래머스 택배 배달과 수거하기 (0) | 2023.04.26 |
[코테 공부] 프로그래머스 이모티콘 할인 행사 (0) | 2023.04.25 |
[네이버 코테 준비] 알고리즘 스터디 D - 1 (0) | 2023.04.14 |