def solution(video_len, pos, op_start, op_end, commands):
# 각 시간 문자열을 초 단위로 변환
def time_to_seconds(time_str):
minutes, seconds = map(int, time_str.split(':'))
return minutes * 60 + seconds
video_len_sec = time_to_seconds(video_len)
pos_sec = time_to_seconds(pos)
op_start_sec = time_to_seconds(op_start)
op_end_sec = time_to_seconds(op_end)
# 명령어 처리
for command in commands:
if op_start_sec <= pos_sec <= op_end_sec:
pos_sec = op_end_sec
if command == "next":
if video_len_sec - pos_sec > 10:
pos_sec += 10
else:
pos_sec = video_len_sec
elif command == "prev":
if pos_sec > 10:
pos_sec -= 10
else:
pos_sec = 0
if op_start_sec <= pos_sec <= op_end_sec:
pos_sec = op_end_sec
# 결과를 "MM:SS" 형식으로 변환
pos_sec_min = pos_sec // 60
pos_sec = pos_sec % 60
answer = f"{pos_sec_min:02}:{pos_sec:02}"
return answer
1. 반복되는 로직이 있다면 함수 하나를 따로 만들어서 수행하게 한다.
2. 문제 이해가 완벽히 된 것 같은 느낌을 받더라도 꼭 주어진 예시들이 어떻게 동작하고 있는지 확인한다.