본문 바로가기

두두의 알고리즘/문제

[정렬] 프로그래머스 L1 '문자열 내 마음대로 정렬하기' (Python)

728x90

<문제 링크>

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

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱

programmers.co.kr


<문제 풀이>

1. 문자열의 n번째 숫자 기준으로 정렬

2. n번째 문자가 같은 경우 오름차순으로 정렬

 

<코드>

def solution(strings, n):
    answer = []
    hashs = {}
    
    for i in strings:
        hashs[i] = i[n]
        
    hashs = dict(sorted(hashs.items(), key=lambda x:x[0]))
    hashs = dict(sorted(hashs.items(), key=lambda x:x[1]))
    
    for i in hashs.keys():
        answer.append(i)
        
    return answer

 

<고쳐야 할 점>

  • dict 정렬하는 법 외우기
  • 복습 알고리즘