본문 바로가기

알고리즘 삽질장

[프로그래머스] 문자열 내 마음대로 정렬하기

반응형


문제설명

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

 

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

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

programmers.co.kr

사고과정

  • 문제에서 n번째 인덱스로 정렬하고 난 후에 사전순으로 정렬하라고 입출력 예시를 주어서 무조건 정렬 순서를 입출력 예시로만 생각해서 구현하려 했다.. 그러다보니 테스트케이스를 통과하지 못했고.. 머리를 쥐어싸매도 도저히 아이디어가 잘떠오르지 않았다.. 정렬 알고리즘 같은 것을 직접 구현해서 해야하나 싶었는데 그것도 아니었다..
  • 다른 분 풀이를 보다가 머리를 띵..하게 만들었는데, 정렬 순서를 바꾸어서 하면 해결되는 것이었다. 즉, 애초에 사전순으로 먼저 정렬을 한 뒤에 n번째 인덱스 값으로 정렬하면 되는 것... 관점의 전환이라는 것이 참 어려운 듯 하다..

풀이(스스로 못 푼 풀이)

def solution(strings, n):
    answer = sorted(sorted(strings), key=lambda x: x[n])
    return answer
반응형