[Python#47]문자열 내 마음대로 정렬하기

Gi Woon Lee·2024년 9월 2일
0

Python

목록 보기
7/13
post-thumbnail

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

문제 개요

문자열 strings 에 들어있는 각 단어들의 n번째 index를 기준으로 정렬하라.

방법: lambda를 사용한다.

lambda 정리

람다는 익명 함수이기 때문에 단독으로 사용되려면 def를 통한 함수 배정이 필요하다.

이 문제의 경우
sorted()함수의 key parameter로 lambda가 배정되었다.

# sorted function syntax
sorted(iterable 대상, key=기준)

# strings를 x의 n번째 index를 기준으로 정렬한다. 
sorted(strings, key=lambda x: x[n]

함정! 입출력 예시 2번째 참고

입출력 예시 2번째를 보면, strings 문자열 리스트 속 단어의 n번째(2번째) 숫자가 "c"인 단어가 두 개가 있다.
이러한 경우 어떤 기준으로 정렬해야 하는가?
문제에서는 만일 기준 index가 같은 값이라면 사전순으로 정렬하라고 알려준다.
따라서 우리는 사전순으로 먼저 정렬해준 뒤, lambda를 사용하면 답을 구할 수 있게 된다.

최종 정답

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

0개의 댓글