728x90
반응형
<문제>
<소스코드>
m, n = map(int, input().split())
dict = {'1':'one', '2':'two', '3':'three', '4':'four', '5':'five', '6':'six',
'7':'seven', '8':'eight', '9':'nine', '0':'zero'}
lst = []
for i in range(m, n+1):
itoa = ' '.join([dict[j] for j in str(i)])
lst.append([i, itoa])
lst.sort(key=lambda x:x[1])
for i in range(len(lst)):
if i%10 == 0 and i!= 0:
print(sep = '\n')
print(lst[i][0], end=' ')
<NOTE>
1. 숫자를 문자로 바꾸어서 문자 각각을 for문에 적용하여 리스트로 만든다. 그 후 띄어쓰기로 구분하여 리스트 요소만 추출할 수 있는 ' '.join()을 활용한다.
2. 정렬을 할 때, key인자를 사용하여 무엇을 기준으로 나열할 것인지 정한다.
3. 10개씩 끊어서 출력할 때는 idx % 10 == 0이면서 idx != 0인 것을 주의한다. 줄바꿈은 print(sep = '\n') 또는 print()로 해준다.
4. 해시에서, dict[key]를 통해 value에 접근할 수 있다.
728x90
반응형
'알고리즘 > 배열 \ 정렬' 카테고리의 다른 글
#29 [파이썬] 프로그래머스: 삼각 달팽이 (0) | 2021.07.02 |
---|---|
#21 [파이썬] 백준 11656번: 접미사 배열 (0) | 2021.04.25 |
#20 [파이썬] 백준 2535번: 아시아 정보올림피아드 (0) | 2021.04.25 |
#18 [파이썬] 백준 10814번: 나이순 정렬 (0) | 2021.04.21 |
#17 [파이썬] 백준 4344번 문제: 평균은 넘겠지 (0) | 2021.04.21 |
댓글