WALF
Keep Going Don't Give up
WALF
전체 방문자
오늘
어제
  • 분류 전체보기
    • JAVA
    • Python
    • HTML, CSS
    • Algorithm
      • Concept
      • 구현
      • JAVA
      • Python
      • 프로그래머스 알고리즘 고득점 Kit
    • SQL
    • Git, GitHub
    • CS

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SQLD
  • For Each
  • attribute
  • 시간 복잡도
  • chr
  • 식별자
  • enumerate
  • Java
  • ORD
  • Entity
  • 데이터 모델링의 이해
  • charat
  • 알고리즘
  • relationship
  • 데이터 모델의 이해
  • Python
  • 백준
  • SQL
  • syntax
  • BOJ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
WALF

Keep Going Don't Give up

Algorithm/Python

[BOJ] 10814 나이순 정렬 - Python

2023. 8. 12. 01:26

■ 문제 링크

https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net


■ 문제

본 문제는 solved.ac 실버 5 문제이다.

 


 

■ 풀이

 

이 문제에서 중요한 부분은 바로 "lambda"이다.

 

코드에 대한 설명을 하자면,

우선 N의 값을 정수로 입력받는다.

그리고 그 수 만큼 반복문을 돌려서 나이, 이름을 입력받는다.

age는 정수형으로 만들어주며, 

만들어둔 member_list에 [나이,'이름']을 N번 append 해준다.

이 리스트를 나이 기준으로 정렬을 해 주어야 하는데,

첫번째 인자를 기준으로 정렬하기 위해서는

 

member_list.sort(key=lambda x:x[0])

 

이런식으로 sort 해주어야 한다.

"key"는 정렬 기준을 지정하는데 사용한다.

즉, 각 원소를 어떤 값으로 비교해서 정렬할지를 지정하는 역할을 한다.

lambda x:x[0]은, 람다 함수를 사용하여 각 원소 x의 첫 번째 원소를 기준으로 정렬하겠다는 의미이다.

 

+ 첫 번째 원소가 같을 경우, 두 번째 원소를 기준으로 사전순으로 정렬하려면 어떻게 해야할까?

 

member_list.sort(key=lambda x: (x[0],x[1]))

 

로 수정해주면 된다.

 

N = int(input())
member_list = list()

for num in range(N):
  age, name = input().split()
  age = int(age)
  member_list.append([age,name])
  
member_list.sort(key=lambda x:x[0])
  
for member in member_list:
  print(member[0],member[1])

 

'Algorithm > Python' 카테고리의 다른 글

[BOJ] 1259 팰린드롬수 - Python  (0) 2023.08.13
[BOJ] 2231 분해합 - Python  (0) 2023.08.12
[BOJ] 2869 달팽이는 올라가고 싶다 - Python  (0) 2023.08.12
[BOJ] 1157 단어공부 - Python  (0) 2023.08.12
[BOJ] 1181 단어 정렬 - Python  (0) 2023.08.12
    'Algorithm/Python' 카테고리의 다른 글
    • [BOJ] 2231 분해합 - Python
    • [BOJ] 2869 달팽이는 올라가고 싶다 - Python
    • [BOJ] 1157 단어공부 - Python
    • [BOJ] 1181 단어 정렬 - Python
    WALF
    WALF

    티스토리툴바