출처 : 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 | 프로그래머스 (programmers.co.kr)
풀이 방법
lambda 함수를 사용하여 정렬을 하면 간단하게 풀이할 수 있다.
같은 문자가 2개 이상이면 같은 문자를 가지는 단어끼리는 사전 순으로 앞선 문자열이 앞쪽에 위치하도록 해야 하는데
이런 경우를 해결하기 위해 미리 lambda 함수를 사용 전 사전 순으로 정렬을 한 후 lambda 함수와 sort함수를 한 번 더 사용하여 원하는 위치의 문자열 순으로 정렬하였다.
이 문제의 핵심은 미리 한번 정렬을 한 후 lambda 함수를 사용하여 정렬을 하는 것이다.
def solution(strings, n):
answer = []
for i in range(len(strings)):
answer.append(strings[i])
## 한번 정렬
answer.sort()
## 원하는 위치를 기준으로 lambda함수를 사용하여 정렬
answer.sort(key = lambda x:x[n])
return answer
'Algorithm' 카테고리의 다른 글
[학교 과제] 인기 검색어 (c++) (0) | 2021.03.24 |
---|---|
[백준] 회문 17609번 (c++) (0) | 2021.02.28 |
[프로그래머스] 주식가격 (python) (0) | 2021.02.23 |
[algostop] 고대어 사전 (c++) (0) | 2021.02.22 |
[algospot] 변화하는 중간 값 (c++) (0) | 2021.02.15 |