Programming/백준

[브론즈 2] 백준 1440 - 타임머신 (파이썬)

pental 2025. 9. 10. 09:54

본 문제와 무관합니다.

https://www.acmicpc.net/problem/1440

쉬운 구현문제중 하나이다. HH:MM:SS의 시간을 DD:DD:DD로 입력받았을때 유효한 시간의 갯수만 계싼하면 된다.

단 여기서 확인해야하는 점은 시간은 1 ~ 12시까지, 분은 00 ~ 59분까지 초는 00 ~ 59초 까지만 가능하다.

따라서 유효성 검증을 하는 함수를 하나 만들어줬다.

def check_hour(HH) :
    if HH > 12 or HH < 1:
        return False
    return True

def check_minute(MM) :
    if MM >= 60 :
        return False
    return True

def check_second(SS) :
    if SS >= 60 :
        return False
    return True

위 함수와 같이 시간과 분, 초를 각각 검증하는 함수를 작성하였고, 각 순열을 만들어야 하기에, permutations 함수를 이용하였다.

# 백준 1440 - 타임머신
from itertools import permutations

HH, MM, SS = map(int, input().split(":"))

def check_hour(HH) :
    if HH > 12 or HH < 1:
        return False
    return True

def check_minute(MM) :
    if MM >= 60 :
        return False
    return True

def check_second(SS) :
    if SS >= 60 :
        return False
    return True

result = 0
for permutation in permutations([HH, MM, SS], 3) :
    HH, MM, SS = permutation
    if check_hour(HH) and check_minute(MM) and check_second(SS) :
        result += 1

print(result)