본문 바로가기

알고리즘

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

 


풀이방법

1. 처음에는 dictionary에 key, value값으로 넣으려했는데 문제 발생

   string[i][n]이 중복이 된다면, 처음 값은 마지막 값으로 바뀌고 마지막 값만 남음

   -> {'c' : ['abce', 'abcd'], 'x': 'cdx'} 해서 key값 기준으로 sort하고, c 안에서 sort할 수도 있는데,

       이렇게 된다면 {'c' : 'abce', 'x' : 'cdx', 'a' : 'etac'}일때랑 굳이 구분해야함

2. 그래서 내린 결론!

    -> 그냥 string[i]앞에 string[i][n]붙여서 sort시키고 answer이라는 리스트에 string[i][1:]넣기

 

코드

def solution(strings, n):

    for i in range(len(strings)):
        strings[i] = strings[i][n] + strings[i]

    print(strings)
    strings = sorted(strings)

    answer = []
    for i in strings:
        answer.append(i[1:])

    return answer

'알고리즘' 카테고리의 다른 글

[programmers] 소수찾기(12921)  (0) 2020.07.08
[programmers] 문자열 다루기 기본  (0) 2020.07.08
[programmers] 완주하지 못한 선수  (0) 2020.07.01
[programmers] 주식가격  (0) 2020.06.30
[baekjooon] 5014. 스타트링크  (0) 2020.06.29