Programing/프로그래머스 오답노트

배열 정리. sort()와 lambda 이용한 방법

yooom 2023. 9. 12. 20:23
문제 설명
문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.

 

풀이

https://kingofbackend.tistory.com/98

 

[Python] sort()에서의 key lambda 사용하기

파이썬의 sort() 함수는 오름차순으로 정렬해주는 함수입니다. 문자열 또한 오름차순으로 정렬이 됩니다. sort(reverse=True) 또는 reverse()를 이용하여 내림차순으로도 구현이 가능합니다. 이 글에서는

kingofbackend.tistory.com

def solution(strings, n):
    strings.sort() 
    return sorted(strings, key=lambda x:x[n])

sort()와 sorted()는 정렬 key를 받을 수 있다.

sort(리스트, reverse유무, key=) 를 받는다.

key 를 받을 떄 lambda 함수를 써서 key를 함수로 받을 수 있다.

 

==========================================================================

유사한 문제로

https://school.programmers.co.kr/learn/courses/30/lessons/42748

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

lambda 함수를 이용할 수 있다.

def solution(array, commands):
    return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))

 

( lambda 함수를 사용하지 않았을 때도 단순하게 표현할 수 있긴하다) 

def solution(array, commands):
    num = ''
    answer = []
    for i,j,k in commands:
        num = sorted(array[i-1 : j])[k-1]
        answer.append(num)
    return answer

 

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90