문제
https://school.programmers.co.kr/learn/courses/30/lessons/12915
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
해설
def solution(strings, n):
answer = sorted(strings, key = lambda x: (x[n], x))
return answer
sorted 메서드를 사용해서 원본 배열은 그대로 두고 새로운 배열을 만들어서 answer에 할당한다.
sorted 메서드 2번째 인자로, 정렬 기준을 추가해줄 수 있다.
key 인자로 비교함수를 넣어주면 되는데, lambda(람다) 익명함수로 넣어주었다.
문제에서 우선 n번째 인덱스의 문자를 기준으로 정렬을 하라고 했기 때문에 lambda 함수에서 x[n]을 작성하였고,
만약 x[n]이 동일한 경우 2번째 기준으로 해당 문자의 사전순을 기준으로 정렬하라고 했으므로 x를 추가했다.
lambda 함수에 반환값으로 튜플로 복수의 기준을 설정할 수 있다.
'Python' 카테고리의 다른 글
프로그래머스 - 이상한 문자 만들기 (0) | 2024.04.10 |
---|---|
프로그래머스 - 나누어 떨어지는 숫자 배열 (0) | 2024.04.09 |
프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) | 2024.04.07 |
프로그래머스 - 문자열 내림차순으로 배치하기 (0) | 2024.04.06 |
프로그래머스 - 크기가 작은 부분 문자열 (2) | 2024.04.05 |