관리 메뉴

솜씨좋은장씨

[BaekJoon] 15080번 : Every Second Counts (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 15080번 : Every Second Counts (Python)

솜씨좋은장씨 2022. 11. 4. 12:05
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 Every Second Counts 입니다.

 

15080번: Every Second Counts

Meredith runs a taxi service called Ruber which offers rides to clients in small towns in western Pennsylvania. She wants to get every possible dime out of people who use her taxis, so her drivers charge a flat fee not per minute but per second. It’s imp

www.acmicpc.net

🧑🏻‍💻 문제 풀이

24시간 규칙으로 되어있는 HH : MM : SS 형식의 문자열 2개를 입력 받으면

두 문자열 사이의 시간은 몇 초인지 구하는 문제 입니다.

시간 계산을 더 쉽게 하기 위해서 

문자열을 datetime 의 strptime 함수를 활용하여 datetime 객체로 바꾼 뒤

두 객체의 차이를 구한 뒤 차이의 seconds 를 구하도록 했습니다.

% strptime / timedelta 참고 링크

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

 

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

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

somjang.tistory.com

def convert_string_to_datetime(date_string):
    return datetime.strptime(date_string, "%H : %M : %S")

먼저 strptime 에

10 : 0 : 0 의 형식인 %H : %M : %S 을 넣어 문자열을 datetime 으로 변환하는 함수를 만듭니다.

def calculate_elapsed_time(start_datetime, end_datetime):
    elapsed_time = end_datetime - start_datetime
    
    return elapsed_time.seconds

이렇게 변환한 datetime 객체의 차이를 구한 뒤 

그 차이 값의 seconds 를 구해서 return 하는 함수를 만들어 줍니다.

 

이 두 함수를 활용하여 정답을 구하는 함수를 만들면 됩니다.

def every_second_counts(start_time, end_time):
    start_datetime = convert_string_to_datetime(
        date_string=start_time
    )
    
    end_datetime = convert_string_to_datetime(
        date_string=end_time
    )
    
    elapsed_time_sec = calculate_elapsed_time(
        start_datetime=start_datetime,
        end_datetime=end_datetime
    )
    
    return elapsed_time_sec

전체 코드는 아래를 참고해주세요.

🧑🏻‍💻 코드 ( Solution )

from datetime import datetime


def convert_string_to_datetime(date_string):
    return datetime.strptime(date_string, "%H : %M : %S")


def calculate_elapsed_time(start_datetime, end_datetime):
    elapsed_time = end_datetime - start_datetime
    
    return elapsed_time.seconds


def every_second_counts(start_time, end_time):
    start_datetime = convert_string_to_datetime(
        date_string=start_time
    )
    
    end_datetime = convert_string_to_datetime(
        date_string=end_time
    )
    
    elapsed_time_sec = calculate_elapsed_time(
        start_datetime=start_datetime,
        end_datetime=end_datetime
    )
    
    return elapsed_time_sec

    
if __name__ == "__main__":
    start_time = input()
    end_time = input()
    
    print(every_second_counts(start_time=start_time, end_time=end_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