Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ChatGPT
- github
- Git
- 맥북
- 백준
- gs25
- 코로나19
- Baekjoon
- 프로그래머스 파이썬
- programmers
- dacon
- 자연어처리
- 더현대서울 맛집
- Real or Not? NLP with Disaster Tweets
- 우분투
- 캐치카페
- leetcode
- PYTHON
- Docker
- hackerrank
- Kaggle
- AI 경진대회
- 프로그래머스
- 편스토랑 우승상품
- 편스토랑
- ubuntu
- 데이콘
- SW Expert Academy
- 파이썬
- 금융문자분석경진대회
Archives
- Today
- Total
솜씨좋은장씨
[Programmers] 2022 KAKAO BLIND RECRUITMENT - 주차 요금 계산 (Python) 본문
Programming/코딩 1일 1문제
[Programmers] 2022 KAKAO BLIND RECRUITMENT - 주차 요금 계산 (Python)
솜씨좋은장씨 2022. 1. 19. 22:26728x90
반응형
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2022년 카카오 블라인드 채용 코딩테스트 문제였던 주차 요금 계산 입니다.
👨🏻💻 문제 풀이
어느 주차장의 입차, 출차 정보와 주차장의 요금표 정보를 입력 받으면
주차장을 이용한 차량들의 주차요금을 계산하는 문제입니다.
입차 출차 시간을 계산 하는데에는 python datetime의 strptime을 활용했습니다.
2022.01.19 - [Programming/Python] - [Python] datetime의 strptime을 활용하여 시간과 시간 사이의 차이 구하는 방법
👨🏻💻 코드 (Solution)
from datetime import datetime
def solution(fees, records):
answer = []
parking_dict, fee_dict = {}, {}
last_out_time = datetime.strptime("23:59:00", "%H:%M:%S")
for record in records:
parking_time, car_number, in_out = record.split()
parking_time = datetime.strptime(f"{parking_time}:00", "%H:%M:%S")
if car_number not in parking_dict.keys():
parking_dict[car_number] = []
parking_dict[car_number].append(parking_time)
for car_num_key in parking_dict.keys():
park_time, car_parking_fee = 0, 0
is_more_fee, more_fee_time = False, 0
in_out_time_len = len(parking_dict[car_num_key])
if in_out_time_len % 2 == 1:
parking_dict[car_num_key].append(last_out_time)
in_out_time_len += 1
for i in range(in_out_time_len // 2):
park_time += (parking_dict[car_num_key][2*(i-1)+1] - parking_dict[car_num_key][2*(i-1)]).seconds // 60
if park_time - fees[0] > 0:
is_more_fee = True
more_fee_time = (park_time - fees[0]) / fees[2]
if more_fee_time != int(more_fee_time):
more_fee_time = int(more_fee_time) + 1
car_parking_fee = fees[1] + more_fee_time * fees[3]
fee_dict[car_num_key] = int(car_parking_fee)
answer = [fee[1] for fee in sorted(fee_dict.items(), key=lambda x: x[0])]
return answer
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 1037번 : 약수 (Python) (0) | 2022.01.21 |
---|---|
[BaekJoon] 2985번 : 세 수 (Python) (0) | 2022.01.20 |
[Programmers] 2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기 (Python) (0) | 2022.01.18 |
[BaekJoon] 1453번 : 피시방 알바 (Python) (0) | 2022.01.17 |
[BaekJoon] 18108번 : 1998년생인 내가 태국에서는 2541년생?! (Python) (0) | 2022.01.16 |
Comments