코딩테스트 파이썬/hackerrank
The Time in Words
세용용용용
2024. 10. 15. 10:11
https://www.hackerrank.com/challenges/the-time-in-words/problem?isFullScreen=true
The Time in Words | HackerRank
Display the time in words.
www.hackerrank.com
나의 코드
#!/bin/python3
import math
import os
import random
import re
import sys
def timeInWords(h, m):
answer = ''
hour_dict = {1: "one", 2: "two", 3: "three", 4: "four",
5: "five", 6: "six", 7: "seven", 8: "eight", 9: "nine",
10: "ten", 11: "eleven", 12: "twelve", 13: "thirteen"}
min_dict = {0: "o' clock", 1: "one minute", 2: "two minutes", 3: "three minutes", 4: "four minutes",
5: "five minutes", 6: "six minutes", 7: "seven minutes", 8: "eight minutes", 9: "nine minutes",
10: "ten minutes", 11: "eleven minutes", 12: "twelve minutes", 13: "thirteen minutes",
14: "fourteen minutes", 15: "quarter", 16: "sixtee minutesn", 17: "seventeen minutes",
18: "eighteen minutes", 19: "nineteen minutes", 20: "twenty minutes", 21: "twenty one minutes",
22: "twenty two minutes", 23: "twenty three minutes", 24: "twenty four minutes",
25: "twenty five minutes", 26: "twenty six minutes", 27: "twenty seven minutes",
28: "twenty eigh minutest", 29: "twenty nine minutes", 30: "half"}
if m == 0:
answer = f"{hour_dict[h]} {min_dict[m]}"
elif m <= 30:
answer = f"{min_dict[m]} past {hour_dict[h]}"
else:
diff_m = 60-m
answer = f"{min_dict[diff_m]} to {hour_dict[h+1]}"
return answer
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
h = int(input().strip())
m = int(input().strip())
result = timeInWords(h, m)
fptr.write(result + '\n')
fptr.close()
시간 복잡도
{hour_dict[h]} {min_dict[m]} : 딕셔너리 키값을 가지고 return 하므로 ( 상수 시간 복잡도 )
해당 알고리즘 시간복잡도는 상수 시간 복잡도 ( O(1) )