입출력 예 설명
입출력 예 1
sun, bed, car의 1번째 인덱스 값은 각각 u, e, a 입니다. 이를 기준으로 strings를 정렬하면 [car, bed, sun] 입니다.
입출력 예 2
abce와 abcd, cdx의 2번째 인덱스 값은 c, c, x입니다. 따라서 정렬 후에는 cdx가 가장 뒤에 위치합니다. abce와 abcd는 사전순으로 정렬하면 abcd가 우선하므로, 답은 [abcd, abce, cdx] 입니다.
접근법
입력받은 인덱스 값을 각 문자의 첫번째 문자로 붙이고 정렬하면 어떨까 생각이 들었습니다. 이 방법대로 풀어보겠습니다.
나의 코드
import operator
def solution(strings, n):
new_string = {}
answer = []
# index값의 문자를 가장 앞으로 뺌(단어 알파벳 순서 재정렬)
for word in strings:
new_word = word[n]+word[:n]+word[n+1:]
new_string[word] = new_word
# 전체 단어 정렬(value를 기준으로 정렬)
pre_answer = sorted(new_string.items(), key=operator.itemgetter(1))
# 딕셔너리 --> 리스트로 변환
for ans in pre_answer:
answer.append(ans[0])
return answer