코딩테스트/알고리즘
99클럽 코테 스터디 3일차 TIL + 문자열 내 마음대로 정렬하기
Porits789
2024. 7. 24. 19:19
오늘의 학습 키워드: Lambda & sorted
문제: 문자열 내 마음대로 정렬하기
https://school.programmers.co.kr/learn/courses/30/lessons/12915#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
조건에 맞추어 정렬해야 합니다.
생각해야 하는 조건은 두 가지입니다.
- index값으로 우선 정렬
- index위치의 값이 같은 값인 경우에 사전순 정렬
저는 index 바로 뒤의 값들로 정렬해야 하나 이랬습니다만.. 그냥 사전순 정렬하면 됩니다.
python의 sorted와 lambda를 같이 사용하면 빠르게 정렬이 가능합니다.
def solution(strings, n):
answer = sorted(strings, key = lambda x: (x[n],x))
return answer
코드를 해석하자면 x[n] 값으로 정렬을 먼저 하고, 이후의 값들은 사전순으로 정렬하라는 의미입니다.
key값으로 여러 가지를 넣고 싶다면 괄호를 이용하면 편하게 사용가능합니다.
회고
sorted 사용 시에 lambda를 사용하는 방법이 조금은 가물가물했던 것 같습니다.
내일 학습할 것.
역시나 코딩테스트로 준비할듯합니다. 프로젝트 중이다 보니 복습 위주의 학습으로 진행하고 있습니다.