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

corgiLoaf·2022년 11월 18일
0

programmers

목록 보기
5/7

✏️ 문제

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

제한 조건

  • strings는 길이 1 이상, 50이하인 배열입니다.
  • strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
  • strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
  • 모든 strings의 원소의 길이는 n보다 큽니다.
  • 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.

✔️ 정답

인덱스 n의 문자가 같은 문자열을 사전 순으로 배치하기 위해서 dict를 사용했다.
dict = sorted(dict.items()) 는 key를 기준으로 정렬된 [key - value] 의 list 를 리턴한다.

def solution(strings, n):
    answer = []
    dict = {x : [] for x in [s[n] for s in strings]}
    
    for s in strings:
        dict[s[n]].append(s)
    dict = sorted(dict.items())
    
    for item in dict:
        for val in sorted(item[1]):
            answer.append(val)
            
    return answer
profile
삽질하고 기록하기

0개의 댓글