본문 바로가기
프로그래머스/1단계

(Python/LV1) 문자열 내 마음대로 정렬하기

by windy7271 2022. 9. 12.
728x90
반응형

문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

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

programmers.co.kr

풀이:

 

sort_string = sorted(strings)
dic = {x : x[n] for x in sort_string}
return sorted(tuple, key = lambda x : dic[x] )

첫 시도는 이렇게 다가갔지만 잘 되지 않았다.

 

좀 더 검색 해보니

def solution(strings, n):

	sort_string = sorted(strings)
	tuple = {x : x[n] for x in sort_string}
	return sorted(tuple, key = lambda x : (x[n],x) )

람다 식안에  튜플을 넣어 줄 수 있다.

 

 

 

 

위 풀이를 저 짧게 쓰면

 

def solution(strings, n):

return sorted(strings, key = lambda x : strings[n] )

이처럼 나온다고 한다.

 

지저분하게 줄이면

return sorted({x : x[n] for x in sorted(strings)}, key = lambda x : (x[n],x) )

이렇게도 가능하다.

반응형

댓글