본문 바로가기
알고리즘

[알고리즘] Custom Sort String

by keel_im 2021. 7. 15.
반응형

이 글을 읽어주신 모든 분들 감사합니다. 간단하게 시작한 기술 블로그가 많은 분들에게 읽힐 줄은 몰랐습니다. 더 좋은 글이 나올 수 있도록 잘 작성하도록 노력하겠습니다.

포인트

  • 이 문제는 원 데이터에서 순서가 주어진 문자열이 있을 때, 이 순서로 정렬을 할 수 있는가? 입니다. 단, 순서 문자열안에 포함되어 있지 않는 문자의 경우 어느 곳이든 둘 수 있습니다.
  • 파이썬은 문자열을 처리하는데에 있어서 가장 심플하게 구현할 수 있었습니다. 저는 a, b 로 나누어 주어진 문자가 순서 문자열에 있는 경우와 없는 경우는 나누었고 순서가 주어진 문자열의 경우 우선순위 딕셔너리를 만들어 인덱스 순으로 저장한 뒤 이를 토대로 정렬을 하도록 구현하였습니다.

🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. 

python

class Solution:
    def customSortString(self, order: str, str: str) -> str:
        priority ={key:index for index, key in enumerate(order)}
        a, b = [], []
        for char in str:
            if char in order:
                a.append(char)
            else:
                b.append(char)

        return ''.join(sorted(a, key=lambda x: priority[x])) + ''.join(b)

 

반응형

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

[알고리즘] 4Sum  (0) 2021.07.16
[알고리즘] Valid Triangle Number  (0) 2021.07.15
[알고리즘] Maximum Length of Repeated Subarray  (0) 2021.07.08
[알고리즘] Arrays: Left Rotation  (0) 2021.07.05
[알고리즘] Candy  (0) 2021.06.27

댓글