오랑우탄의 반란
프로그래머스 | 문자열 내 마음대로 정렬하기 (Python3) SORT 함수 본문
반응형
오늘도 오랑이는 문제를 풉니다.
문자열 내 마음대로 정렬하기
풀이 과정
sort 함수의 특징 활용을 의도한 문제입니다.
기존에는 자동으로 오름차순 정렬이 되는 .sort, sorted() 그리고 내림차순 정렬 조건 reverse = True 만 알고 있었는데 key = 를 사용하면 조건을 자유롭게 줄 수 있다는 사실을 알게 되었습니다.
sort 함수
answer.sort(key = 조건)
sorted(answer, key = 조건)
조건에 함수가 들어갈 경우 key = lambda x: 로 람다함수를 사용해서 넣어주면 됩니다. 생각보다 간단하네요
다중 조건을 주고 싶은 경우 쉼표로 구분하거나 lambda 함수를 사용했을 경우 함수 안에 쉼표 구분으로 넣으면 됩니다.
내림차순으로 정렬할 경우도 마찬가지로 쉼표로 구분해서 마지막에 넣으면 됩니다.
list.sort(key = lambda x: (조건1, 조건2))
sorted(list, key = (조건1, 조건2))
sorted(list, key = (조건1, 조건2), reverse = True)
이때 문제에서 strings 의 i 에 대해서 i[n] 이 정렬되는 순서를 기준으로 전체 strings 의 인수들을 정렬하고 싶은 거기 때문에 i[n] 그리고 그 값이 같을 경우 i 를 key 기준으로 두고 sort 되게 합니다.
최종 코드
def solution(strings, n):
return sorted(strings, key = lambda i: (i[n],i))
오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~
반응형
'PYTHON > 프로그래머스' 카테고리의 다른 글
프로그래머스 | 푸드 파이트 대회 (Python3) (2) | 2024.07.16 |
---|---|
프로그래머스 | 가장 가까운 같은 글자 (Python3) (0) | 2024.07.15 |
프로그래머스 | 두 개 뽑아서 더하기 (Python3) SET함수 (0) | 2024.07.12 |
프로그래머스 | K번째수 (Python3) (0) | 2024.07.12 |
프로그래머스 | 숫자 문자열과 영단어 (Python3) 리스트, 딕셔너리 (0) | 2024.07.12 |