관리 메뉴

솜씨좋은장씨

[BaekJoon] 5575번 : 타임카드 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 5575번 : 타임카드 (Python)

솜씨좋은장씨 2022. 3. 30. 07:52
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 타임카드 입니다.

 

5575번: 타임 카드

JOI 상사는 직원의 근무시간을 타임 카드로 관리하고있다. 직원들은 전용 장비를 사용하여 타임 카드에 출근 시간을 기록한다. 근무를 마치고 퇴근할 때도 타임 카드에 퇴근 시간을 기록한다.

www.acmicpc.net

👨🏻‍💻 문제 풀이

2022.01.19 - [Programming/Python] - [Python] datetime의 strptime을 활용하여 시간과 시간 사이의 차이 구하는 방법

 

[Python] datetime의 strptime을 활용하여 시간과 시간 사이의 차이 구하는 방법

개발을 하다 보면 종종 특정 시간과 특정 시간 사이에 얼마나 많은 시간이 흘렀는지 구해야 할 경우가 있습니다. 직접 시간을 계산하는 코드를 작성해도 되지만 2시 39분 -> 5시 25분 까지 얼마나

somjang.tistory.com

Python의 strptime을 활용하여 문제를 풀었습니다.

👨🏻‍💻 코드 ( Solution )

from datetime import datetime

def split_start_end_time(work_time):
    work_time = work_time.split()

    start_time = ":".join(work_time[:3])
    end_time = ":".join(work_time[3:])
    
    return start_time, end_time


def convert_second_to_hour_minute_second(second): 
    hour = second // 3600 
    minute = (second // 60) - (hour * 60) 
    sec = second - (minute * 60) - (hour * 3600) 
    
    return hour, minute, sec



def time_card(work_time):
    work_start, work_end = split_start_end_time(work_time=work_time)
    
    work_start = datetime.strptime(work_start, "%H:%M:%S") 
    work_end = datetime.strptime(work_end, "%H:%M:%S")
    
    work_total_time = (work_end - work_start).seconds
    
    hour, minute, sec = convert_second_to_hour_minute_second(second=work_total_time)
    
    return f"{hour} {minute} {sec}"


if __name__ == "__main__":
    A_time = input()
    B_time = input()
    C_time = input()
    
    print(time_card(A_time))
    print(time_card(B_time))
    print(time_card(C_time))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments