[Programmers/python] [PCCP 기출문제] 1번 / 동영상 재생기

songeunm·2024년 9월 6일

PS - python

목록 보기
5/62
post-thumbnail

문제

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정도로 여러 중급, 고급 알고리즘이 나온다고 하니 이것보다는 훨씬 어려울 것 같다!

profile
데굴데굴 구르는 개발자 지망생

0개의 댓글