문자열 strings 에 들어있는 각 단어들의 n번째 index를 기준으로 정렬하라.
람다는 익명 함수이기 때문에 단독으로 사용되려면 def를 통한 함수 배정이 필요하다.
이 문제의 경우
sorted()함수의 key parameter로 lambda가 배정되었다.
# sorted function syntax
sorted(iterable 대상, key=기준)
# strings를 x의 n번째 index를 기준으로 정렬한다.
sorted(strings, key=lambda x: x[n]
입출력 예시 2번째를 보면, strings 문자열 리스트 속 단어의 n번째(2번째) 숫자가 "c"인 단어가 두 개가 있다.
이러한 경우 어떤 기준으로 정렬해야 하는가?
문제에서는 만일 기준 index가 같은 값이라면 사전순으로 정렬하라고 알려준다.
따라서 우리는 사전순으로 먼저 정렬해준 뒤, lambda를 사용하면 답을 구할 수 있게 된다.
def solution(strings, n):
strings = sorted(strings)
return sorted(strings, key=lambda x: x[n])