728x90
반응형
문제:
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [ "sun" , "bed" , "car" ]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
풀이 방법:
sorted에 있는 key 조건을 사용해서 풀어야 하는 문제이다. sorted 함수는 sorted( iterable , key=None , reverse=False)로 구성되어 있는데, key에 조건을 설정해주면 그 조건에 따라서 iterable을 정렬 해 준다. 이 문제에서는 인덱스 n번째로 정렬을 하므로 lambda 함수를 사용하도록 한다. 같은 인덱스 1의 문자가 여럿일 수 있으므로 미리 한번 조건 없이 정렬한 뒤 키 값을 주어서 정렬을 하도록 한다.
1 2 3 | def solution(strings, n): strings=sorted(strings) return sorted(strings, key = lambda x : x[n]) | cs |
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[Programmers]Lv 1.같은 숫자는 싫어 (0) | 2019.02.09 |
---|---|
[Programmers]Lv 2.조이스틱 (2) | 2019.02.08 |
[Programmers]Lv 2.주식 가격 (0) | 2019.02.06 |
[Programmers]Lv 1.소수 찾기 (0) | 2019.02.05 |
[Programmers]Lv 2.쇠막대기 (0) | 2019.02.04 |