문제 설명
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
제한 사항
입출력 예
접근법
최근 코딩도장에서 배웠던 lambda가 생각났던 문제다.
레벨 1에 많은 문제를 풀면서 이제는 머리속으로 그림이 그려지는 단계다
하지만, 문제는 쉽게 풀리지 않았고 1시간 30분 정도를 고생했다.
문제는 동일한 알파벳이 존재할 경우 정렬 방식이었다.
굉장히 어렵게 생각하여 코드로 풀어내려다 보니 많은 시간이 걸렸다.
결국에는 해결하지 못하나 싶었는데 발상의 전환이 문제를
해결하는 실마리를 주었다.
전체를 먼저 오름차순으로 정렬하고 그 뒤에 key값으로 lambda함수를
이용함으로써 문제는 해결되었다.😎😊
=============================================================
def solution(strings, n):
return sorted(sorted(strings), key=lambda x: x[n])