[BOJ] 10814. 나이순 정렬

Jimeaning·2023년 4월 12일
0

코딩테스트

목록 보기
80/143

Python3

문제

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

키워드

  • 구현
  • 정렬

문제 풀이

문제 요구사항

  • 나이와 이름이 가입한 순서대로 주어진다.
  • 회원들을 나이가 증가하는 순으로
  • 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬

변수 및 함수 설명

n: 사람들의 수가 입력으로 주어진다
lst: 사람들의 나이와 이름을 넣는 리스트이다
age, name: 나이와 이름을 입력받는다

로직

  • 나이와 이름을 입력받고 map으로 처리한다
  • lst에 정수로 형변환한 age / i / name을 넣는다
    - i를 같이 넣어주는 이유는 들어 온 순서를 기억하기 위함!
  • lst 리스트를 정렬한다
  • 정렬된 2차원 배열의 lst에서 age, name을 출력한다

최종 코드

import sys

n = int(sys.stdin.readline())
lst = []

for i in range(n):
    age, name = map(str, sys.stdin.readline().split())
    lst.append([int(age), i, name])
    
lst.sort()

for i in range(n):
    print(lst[i][0], lst[i][2])

피드백

들어 온 순서를 리스트에 같이 넣는 것이 포인트였다.

리스트에 여러 요소를 넣을 때는

리스트.append([요소1, 요소2, 요소3, ..])

profile
I mean

0개의 댓글