[백준/BOJ] 9442번 - Sort Me
What ?
👉 https://www.acmicpc.net/problem/9442
입력에서 주어진 알파벳 순서대로 단어들을 재정렬한다.
How ?
base = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
base_dic = dict()
for idx, val in enumerate(list(base)):
base_dic[idx] = val
start = 1
while True:
come = input()
come = list(come.split())
N = come[0]
if int(N) == 0:
break
string = come[1]
print("year", start)
start += 1
dic = dict()
for idx, val in enumerate(list(string)):
dic[val] = idx
alpha = [input() for _ in range(int(N))]
tmp = []
x = 0
for i in range(len(alpha)):
result = ""
for j in range(len(alpha[i])):
idx = dic[alpha[i][j]]
result += base_dic[idx]
tmp.append((result, x))
x += 1
tmp.sort(key=lambda x: (x[0], len))
for value, idx in tmp:
print(alpha[idx])
⚡ 정렬
- 원래 알파벳 순서를 저장해둔
base_dic
딕셔너리와 입력으로 받은 알파벳 순서를 저장해둔dic
딕셔너리 2개를 이용해 문제를 풀었다. (단어, 인덱스)
를 튜플로 저장해 정렬시켰다.
Author And Source
이 문제에 관하여([백준/BOJ] 9442번 - Sort Me), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sangm1n/boj-9442저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)