-
[Programmers] 문자열 내 마음대로 정렬하기programing/Algorithm 2021. 1. 1. 21:56
문자열 내 마음대로 정렬하기
연습 문제
level 1
python3
def solution(strings, n): strings.sort() answer=sorted(strings, key=lambda string: string[n]) return answer
JS의 sort함수와 비슷하게, 파이썬도 비교 연산을 지정할 수 있다. 다만 람다 특유의 문법때문에, 파이썬에 미숙한 나로써는 100% 활용하기 어려운 듯..
단순히 key만 주는 걸로는 "abcd"와 "abce" 처럼 인덱스의 문자가 같은 두 문자열을 제대로 비교할 수 없다. 그래서 sort()를 한번 실행해 줘야 한다. (순서는 상관 없다. 왜냐하면 파이썬의 sorted 함수는 안전하기 때문에..)
def solution(strings, n): return sorted(strings, key=lambda string: string[n]+string[:])
다른 사람의 풀이를 보니, 람다 식을 위와 같이 바꾸면 원래 문자열에서 n번째 문자를 맨 앞에 unshift한 문자열이 되어서, 한번만 비교를 해도 된다고 한다.
슷고이..
'programing > Algorithm' 카테고리의 다른 글
[Programmers] 문자열 내림차순으로 배치하기 (0) 2021.01.02 [Programmers] 문자열 내 p와 y의 개수 (0) 2021.01.02 [Programmers] 두 정수 사이의 합 (0) 2021.01.01 [Programmers] 나누어 떨어지는 숫자 배열 (0) 2021.01.01 [Programmers] 같은 숫자는 싫어 (0) 2020.12.19 댓글