
Lv. 1 / 구현
어제까지만해도 없었는데 문제가 새로 업데이트 됐다.
PCCP 기출문제라니 궁금하기도하고 바로 풀어봤다.
특별히 필요한 알고리즘은 없는 것 같다.
주어진 mm:ss형식의 시간을 모두 초 단위로 바꾼 뒤 모든 계산이 끝난 뒤 다시 정해진 포맷에 맞추는 방법으로 진행했다.
참고로 프로그래머스에서는 알고리즘을 알려주지 않는 경우가 종종 있는데 위에 "구현"이라고 달아놓은 건 나의 추측이다.
"""
[PCCP 기출문제] 1번 / 동영상 재생기
구현
"""
def time_to_sec(timestamp: str):
m, s = map(int, timestamp.split(':'))
return 60*m + s
def solution(video_len, pos, op_start, op_end, commands):
pos_sec = time_to_sec(pos)
video_len_sec = time_to_sec(video_len)
op_start_sec = time_to_sec(op_start)
op_end_sec = time_to_sec(op_end)
if op_start_sec <= pos_sec <= op_end_sec:
pos_sec = op_end_sec
for cmd in commands:
if cmd == "prev":
pos_sec -= 10
else:
pos_sec += 10
if pos_sec < 0:
pos_sec = 0
elif pos_sec > video_len_sec:
pos_sec = video_len_sec
if op_start_sec <= pos_sec <= op_end_sec:
pos_sec = op_end_sec
print(f"pos: {pos_sec}")
res = [pos_sec//60, pos_sec%60]
answer = ':'.join(map(lambda x: str(x) if x>=10 else '0'+str(x), res))
return answer
pccp 실제 시험 문제들은 Lv. 2 ~ 3정도로 여러 중급, 고급 알고리즘이 나온다고 하니 이것보다는 훨씬 어려울 것 같다!