알고리즘

17091번 단어 시계

beingB 2024. 5. 6. 12:46
반응형

17091번: 단어 시계 (acmicpc.net)

from sys import stdin

시간 = int(stdin.readline().strip("\n"))
분 = int(stdin.readline().strip("\n"))

시간_배열 = [
    "",
    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven",
    "eight",
    "nine",
    "ten",
    "eleven",
    "twelve",
]

분_배열 = [
    "",
    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven",
    "eight",
    "nine",
    "ten",
    "eleven",
    "twelve",
    "thirteen",
    "fourteen",
    "fifteen",
    "sixteen",
    "seventeen",
    "eighteen",
    "nineteen",
    "twenty",
    "twenty one",
    "twenty two",
    "twenty three",
    "twenty four",
    "twenty five",
    "twenty six",
    "twenty seven",
    "twenty eight",
    "twenty nine",
    "thirty",
]

if 분 == 0:
    시간_영어 = 시간_배열[시간]
    print("{0} o' clock".format(시간_영어))
elif 분 <= 30:
    시간_영어 = 시간_배열[시간]
    if 분 == 15:
        print("quarter past {0}".format(시간_영어))
    elif 분 == 30:
        print("half past {0}".format(시간_영어))
    else:
        분_영어 = 분_배열[분]
        if 분_영어 == "one":
            print("{0} minute past {1}".format(분_영어, 시간_영어))
        else:
            print("{0} minutes past {1}".format(분_영어, 시간_영어))
else:
    시간_영어 = 시간_배열[시간 % 12 + 1]

    if 분 == 45:
        print("quarter to {0}".format(시간_영어))
    else:
        분 = 60 - 분
        분_영어 = 분_배열[분]
        if 분_영어 == "one":
            print("{0} minute to {1}".format(분_영어, 시간_영어))
        else:
            print("{0} minutes to {1}".format(분_영어, 시간_영어))
반응형