문제는 프로그래머스에서 확인할 수 있다. 오랜만에 재밌는 문제기도했다!
def solution(video_len, pos, op_start, op_end, commands):
# 모든 시간을 초 단위로 바꿔주자
def min_switch(num):
return (int(num[:2]) * 60) + int(num[3:])
answer = ''
video_len = min_switch(video_len)
pos = min_switch(pos)
op_start = min_switch(op_start)
op_end = min_switch(op_end)
for word in commands:
if word == 'next':
if op_start <= pos <= op_end:
pos = op_end
pos += 10
else:
pos += 10
elif word == 'prev':
if op_start <= pos <= op_end:
pos = op_end
pos -= 10
else:
pos -= 10
if pos > video_len:
pos = video_len
if pos < 0:
pos = 0
if op_start <= pos <= op_end:
pos = op_end
hour = pos // 60
m = pos % 60
return f"{hour:02}:{m:02}"
여기서 포인트는 시간을 초로 바꿔서 다루는 것! 항상 이런 시간 구현 문제가 헷갈렸는데 이제는 접근방식을 잘 파악할 수 있을 것 같다.
'👩💻 코테 공부 > 코테 공부' 카테고리의 다른 글
| [코테- Java] 프로그래머스 - 약수의 합 (0) | 2024.09.11 |
|---|---|
| [코테 - py] 백준 15989번 1, 2, 3 더하기 4 (0) | 2024.09.07 |
| [코테 - py] 백준 17142번 연구소 3 (0) | 2024.08.15 |
| [코테 - py] 백준 16235번 나무 재테크 (0) | 2024.08.13 |
| [코테 - py] 백준 15685 드래곤 커브 (0) | 2024.08.12 |