Development

[프로그래머스] 문자열 내 마음대로 정렬하기 본문

코딩테스트/Python

[프로그래머스] 문자열 내 마음대로 정렬하기

yo~og 2021. 8. 4. 00:12
반응형

내 코드

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)라고 적어준다. 만약 내림차순으로 할 경우 -부호를 사용하면 역순으로 출력할수 있다.

반응형
Comments