문제
1755번: 숫자놀이
79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로
www.acmicpc.net
알고리즘
- 반복문을 통해 m부터 n까지 수를 영어 단어로 바꾼다.
- 바꾼 영어 단어는 사전 순으로 정렬하기 위해 오름차순으로 정렬한다.
- 반복문을 통해 영어 단어의 수를 출력한다.
- 영어 단어의 수는 한 줄의 10개씩 출력한다.
코드
import sys
word = { "0" : "zero", "1" : "oen" , "2" : "two" , "3" : "three" , "4" : "four" , "5" : "five", "6" : "six", "7" : "seven" , "8" : "eight" , "9" : "nine" }
m, n = map(int, sys.stdin.readline().split())
nums = []
# 반복문을 통해 m부터 n까지 수를 영어 단어로 바꾼다.
for i in range(m, n + 1):
temp = []
for j in str(i):
temp.append([word[j], j])
nums.append(temp)
# 바꾼 영어 단어를 사전순으로 정렬하기 위해 오름차순으로 정렬
nums.sort()
# 반복문을 통해 영어 단어의 수를 출력
for k in range(len(nums)):
res = ""
# 한 줄의 10개씩 출력
if k % 10 == 0 and k != 0:
print()
for a, b in nums[k]:
res += b
print(res, end=" ")
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1013번(파이썬): Contact (0) | 2022.01.10 |
---|---|
[baekjoon] 백준 9996번(파이썬): 한국이 그리울 땐 서버에 접속하지 (0) | 2022.01.09 |
[baekjoon] 백준 1969번(파이썬): DNA (0) | 2022.01.07 |
[baekjoon] 백준 1769번(파이썬): 3의 배수 (0) | 2022.01.06 |
[baekjoon] 백준 14426번(파이썬): 접두사 찾기 (0) | 2022.01.05 |