[Python] Programmers. 문자열 내 마음대로 정렬하기

문자열 내 마음대로 정렬하기

문제 링크

풀이 코드

  • ‘n번째 문자가 같은 단어가 여러개면 사전순으로 정렬한다.’ -> 이것을 통해서 n번째 문자를 맨 앞으로 가져온 뒤 전체 리스트를 정렬하면 된다는 것을 알 수 있습니다.
  • 문자열 바꾸기 (change) -> 정렬 -> 다시 바꿔주기 (rollback) 이러한 플로우로 구현하면 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 문자열 내 마음대로 정렬하기
def change(s,n):
    temp = s[n] + s[:n] + s[n+1:]
    return temp

def rollback(s,n):
    temp = s[1:n+1] + s[0] + s[n+1:]
    return temp

def solution(strings, n):
    answer = []
    for i in range(len(strings)):
        strings[i] = change(strings[i], n)
    strings.sort()
    for i in range(len(strings)):
        answer.append(rollback(strings[i],n))
    return answer

비고