💡 Codeing Test/프로그래머스

프로그래머스) 문자열 내 마음대로 정렬하기 (python)

밈98 2023. 3. 23. 13:24

https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

from collections import defaultdict
from operator import itemgetter
def solution(strings, n):
    answer = []
    
    strings.sort()
    arr = defaultdict(str)
    for i in range(len(strings)):
        arr[i]+=strings[i][n]
        
    sort_value = sorted(arr.items(), key=itemgetter(1))
    
    
    for idx in sort_value:
        answer.append(strings[idx[0]])
        
    return answer

defaultdict를 이용한 풀이

 

대신 문제를 잘 읽어야한다

테스트케이스2번에 같은 'c' 여도 원래 문자열이 사전순으로 우선인것을 고려한다

 

그래서 처음부터 문자열을 정렬하고

 

n번째 인덱스 문자열을 뽑고

 

그걸 디폴트딕트에 넣고 디폴드딕트의 값(item)기준으로 정렬하는 방법을 이용했다