문제
https://school.programmers.co.kr/learn/courses/30/lessons/12915
항해 미들러문제!! ㅎㅎ
1. 코드 설명
- 인덱스 입력받기
- 인덱스 별로 오름차순 정렬
2. 코드 실행
def solution(strings, n):
return sorted(strings, key=lambda x: (x[n], x))
3. 중요한 개념
※ lambda 란??
-> 함수를 간결하게 만들기 위한 익명함수를 만들 때 사용되는 함수
기본적인 구조 ) lambda 매개변수: 표현식
-> 이때 매개변수들은 함수에 전달되는 입력 값이고, 표현식은 해당 변수의 반환값이다.
예를 들어 두 수를 더하는 함수를 람다함수로 표현하면
add = lambda x,y : x+ y 가 된다.
-> 변수 add는 두 개의 인자를 받아 더한 값을 반환하는 람다 함수가 된다.
add=lambda(x,y:x+y)
result=add(3,5)
// result = 8
-> result = add(3, 5) # result에는 3과 5를 더한 8이 저장됨
return sorted(strings, key=lambda x: (x[n], x))
---> 위의 코드도, sorted() 함수의 key 매개변수에 람다함수를 사용하여 각 문자열의 인덱스를 받고,
lambda x: (x[n],x)) : 인덱스 번호인 n번째 글자를 기준으로 정렬하고 나머지는 원래 문자 그대로 정렬하게 둔다.
4. 결과
기분 조은 파란색 ㅎㅎ
'Algorithm > 항해일지 TIL' 카테고리의 다른 글
[DAY 11] 프로그래머스 없는 숫자 더하기 (2) | 2024.04.08 |
---|---|
[DAY 10] 프로그래머스 평균 구하기 / SUM (0) | 2024.04.07 |
[DAY 9] 프로그래머스 LV1. 짝수와 홀수 (0) | 2024.04.06 |
[DAY 8] 프로그래머스 LV1. 하샤드 수 (0) | 2024.04.05 |
[DAY 7] 프로그래머스 LV1. 행렬의 덧셈 (0) | 2024.04.03 |