-
82. 숫자놀이Problem Solving 2023. 1. 15. 20:42728x90
https://www.acmicpc.net/problem/1755
1755번: 숫자놀이
79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로
www.acmicpc.net
범위의 처음과 끝을 integer로 받아 범위 내 숫자 각각을 영어로 변환해 알파벳 순으로 정렬
start, last = input().split() numbslist = [i for i in range(int(start), int(last) + 1)] newn = {} for i in numbslist: numbstr = "" for j in str(i): if j == "0": numbstr = numbstr + "zero" elif j == "1": numbstr = numbstr + "one" elif j == "2": numbstr = numbstr + "two" elif j == "3": numbstr = numbstr + "three" elif j == "4": numbstr = numbstr + "four" elif j == "5": numbstr = numbstr + "five" elif j == "6": numbstr = numbstr + "six" elif j == "7": numbstr = numbstr + "seven" elif j == "8": numbstr = numbstr + "eight" elif j == "9": numbstr = numbstr + "nine" newn[int(i)] = numbstr newn = sorted(newn.items(), key = lambda item: item[1]) for i in range(len(newn)): print(newn[i][0], end=" ") if i % 10 == 9: print("")
통과는 했으나 이게 최선인가... 하는 의문이 들었음
더 깔끔하게 짤 수 있는 방법이 없는지...
'Problem Solving' 카테고리의 다른 글
84. H-Index (0) 2023.01.15 83. Maximum Units on a Truck (0) 2023.01.15 81. 접미사 배열 (0) 2023.01.15 80. 중복 빼고 정렬하기 (0) 2023.01.15 79. 나이순 정렬 (0) 2023.01.15