[프로그래머스 1단계] 알고리즘 7. 문자열 내 마음대로 정렬하기
문제 출처는 프로그래머스 알고리즘 연습 에서 볼 수 있습니다!(https://programmers.co.kr/learn/challenges)
알고리즘 7. 문자열 내 마음대로 정렬하기
strange_sort함수는 strings와 n이라는 매개변수를 받아들입니다.
strings는 문자열로 구성된 리스트인데, 각 문자열을 인덱스 n인 글자를 기준으로 정렬하면 됩니다.
예를들어 strings가 [sun
, bed
, car
]이고 n이 1이면 각 단어의 인덱스 1인 문자 u, e ,a를 기준으로 정렬해야 하므로 결과는[car
, bed
, sun
]이 됩니다. strange_sort함수를 완성해 보세요.
풀이:
나의 풀이는 간단했다. 파이썬 내장 함수인 sorted 함수를 이용하는 것이다. 내장 함수 sorted 함수는 key 라는 파라미터 인자에다 람다를 활용하여 컬렉션 내 정렬 기준을 잡아줄 수 있다. 코드를 보면 무슨 말인지 대략적으로 알 수 있을 것이다.
먼저 처음 인자로 컬렉션을 넣어주고 key에다 정렬 기준을 잡아준다. 정렬 기준은 다음 람다식이다.
lambda string: string[n]
해석하자면 문자열 string 안에서 n번째 요소를 반환하는 식이다. 이것을 sorted 함수의 key로 잡아주면 알아서 컬렉션을 순회하면서 string에 "sun", "bed", "car" 같은 요소들이 대입된다. 그 후 n번째 요소 기준으로 정렬하게 된다. 프로그래머스 알고리즘을 풀면서 느낀건데 기본 알고리즘을 직접 짜는 능력도 중요하지만 언어가 제공하는 기능들을 잘 아는 것도 중요한 것 같다.