[프로그래머스] 연습문제/ 문자열 내 마음대로 정렬하기(python)

Effy_ee·2023년 7월 20일
0

코딩테스트

목록 보기
24/118

연습문제(Lv.01)👾
https://school.programmers.co.kr/learn/courses/30/lessons/12915

📖 문제

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


💻 답안

x[n] : 우선 x[n]으로 정렬하고 같으면 x의 순서대로 정렬한다.

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

💡배운점

list.sort()

list.sort() 메서드는 list 객체 자체를 정렬해주는 함수입니다.
리스트에만 사용이 가능합니다. list 객체의 멤버 함수, 즉 메서드입니다.

list.sort()함수는 기본적으로 리스트를 오름차순으로 정렬해주는 기능을 합니다.

>>> a = [1, 10, 5, 7, 6]
>>> a.sort()
>>> a
[1, 5, 6, 7, 10]
>>> a = [1, 10, 5, 7, 6]
>>> a.sort(reverse=True)
>>> a
[10, 7, 6, 5, 1]

sorted()

members = [
  {'name': 'Kim', 'age': 23},
  {'name': 'Lee', 'age': 73},
  {'name': 'Choi', 'age': 12},
  {'name': 'Park', 'age': 52},
  {'name': 'Lim', 'age': 43}
]

a = sorted(members, key=lambda member: member['age'])

print(a)

# [{'name': 'Choi', 'age': 12}, {'name': 'Kim', 'age': 23}, {'name': 'Lim', 'age': 43}, {'name': 'Park', 'age': 52}, {'name': 'Lee', 'age': 73}]

lambda

lambda 매개변수 : 표현식


>>>  (lambda x : x+1)(3)
4

출처 https://wikidocs.net/22804

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

글이 많은 도움이 되었습니다, 감사합니다.

답글 달기