500error
[Cos Pro 1급, Python] 2차 2번 : 지하철 기다리기 본문
반응형
문제
A 지하철역의 오늘 하루 지하철 도착 시각이 순서대로 들어있는 배열이 있습니다. 현재 시간이 주어졌을 때, 지하철을 타기위해서는 최소 몇 분을 기다려야 하는지 구하려 합니다. 이를 위해 다음과 같이 프로그램 구조를 작성했습니다.
1. 00:00을 기준으로 해서 현재 시각을 분 단위로 변환합니다.
2. 배열을 순회하며 다음을 수행합니다.
2-1. 00:00을 기준으로, 각 지하철 도착 시각을 분 단위로 변환합니다.
2-2. 현재 시각과 지하철 도착 시각을 비교하여 최소 대기 시간을 구합니다.
3. 2번 단계에서 구한 최소 대기 시간을 return 합니다.
오늘 하루 동안의 지하철 도착 시각이 순서대로 들어있는 배열 subway_times와 subway_times의 길이 subway_times_len, 현재시간 current_time이 매개변수로 주어질 때, 지하철을 타기 위해 기다려야 하는 최소 대기 시간을 return 하도록 solution 함수를 작성했습니다. 이때, 위 구조를 참고하여 중복되는 부분은 func_a라는 함수로 작성했습니다. 코드가 올바르게 동작할 수 있도록 빈칸을 알맞게 채워 전체 코드를 완성해주세요.
코드
def func_a(times):
hour = int(times[:2])
minute = int(times[3:])
return hour*60 + minute
def solution(subway_times, current_time):
current_minute = func_a(current_time)
INF = 1000000000
answer = INF
for s in subway_times:
subway_minute = func_a(s)
if subway_minute >= current_minute:
answer = subway_minute - current_minute
break
if answer == INF:
return -1
return answer
subway_times1 = ["05:31", "11:59", "13:30", "23:32"]
current_time1 = "12:00"
ret1 = solution(subway_times1, current_time1)
print("solution 함수의 반환 값은", ret1, "입니다.")
subway_times2 = ["14:31", "15:31"]
current_time2 = "15:31"
ret2 = solution(subway_times2, current_time2)
print("solution 함수의 반환 값은", ret2, "입니다.")
반응형
'알고리즘 > 파이썬' 카테고리의 다른 글
[Cos Pro 1급, Python] 2차 4번 : 합이 k 배가 되는 수 (0) | 2024.02.28 |
---|---|
[Cos Pro 1급, Python] 2차 3번 : 경품 당첨자를 구해주세요 (0) | 2024.02.28 |
[Cos Pro 1급, Python] 2차 1번 : 도서 대여점 운영 (0) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 10번 : 주식으로 최대 수익을 내세요 (1) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 9번 : 계단 게임 (1) | 2024.02.26 |
Comments