Notice
Recent Posts
Recent Comments
Link
Development
[프로그래머스] 문자열 내 마음대로 정렬하기 본문
반응형
내 코드
def solution(strings, n):
strings = [i[n]+i for i in strings]
strings.sort()
return [i[1:] for i in strings]
["sun", "bed", "car"] n=1 이라면, ["usun", "ebed", "acar"] 이런식으로 n번째 문자를 문자 제일 앞에 붙혀주었다.
그리고 sort를 하고 i[1:]를 사용하여 가장 첫번째 문자를 빼고 출력해주었다.
다른사람 코드
def solution(strings, n):
return sorted(strings, key = lambda x : (x[n],x))
sorted안에 저렇게 정할 수 있다는 것을 몰랐다!!
sort나 sorted안에 key를 사용할 경우 key값에 정렬을 목적으로 하는 함수를 값으로 넣는다. 이때 함수는 lambda를 사용할 수 있다. key값을 기준으로 정렬되고 기본값은 오름차순이다.
먼저 x[n]에 대하여 정렬하고 x에 대하여도 정렬해야하니 (x[n],x)라고 적어준다. 만약 내림차순으로 할 경우 -부호를 사용하면 역순으로 출력할수 있다.
반응형
'코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 소수 만들기 (0) | 2021.08.04 |
---|---|
[프로그래머스] 숫자 문자열과 영단어 (0) | 2021.08.04 |
[프로그래머스] 두개 뽑아서 더하기 (0) | 2021.08.03 |
[프로그래머스] 크레인 인형뽑기 게임 (0) | 2021.08.03 |
[프로그래머스] 폰켓몬 (0) | 2021.08.03 |
Comments