오랑우탄의 반란

프로그래머스 | 문자열 내 마음대로 정렬하기 (Python3) SORT 함수 본문

PYTHON/프로그래머스

프로그래머스 | 문자열 내 마음대로 정렬하기 (Python3) SORT 함수

5&2 2024. 7. 12. 18:54
반응형

 

오늘도 오랑이는 문제를 풉니다.

 

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

 

풀이 과정

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))

 

 

 

 

오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형