10814) 나이순 정렬

CHOISUJIN·2024년 9월 10일
0

Baekjoon

목록 보기
2/10
post-thumbnail
post-custom-banner

📌 문제 탐색하기

  • 회원의 나이와 이름을 정렬하여 출력
    - 나이가 증가하는 순
    - 나이가 같으면 먼저 가입한 순

가능한 시간복잡도

정렬의 시간 복잡도는 O(NlogN)
N은 회원의 수로, 최대 100,000

알고리즘 선택

정렬

📌 코드 설계하기

  1. 문제의 input 받기
  2. 배열을 1열을 기준으로 1열의 값이 같을 경우 입력 순서 유지되도록 정렬

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

  3. 정렬한 배열을 출력

📌 시도 회차 수정 사항 (Optional)

1회차

  • python 문법이 많이 부족하다..
  • 2차원 배열과 같은 자료형

📌 정답 코드

import sys

# 1. 문제의 입출력을 받습니다.
N = int(sys.stdin.readline())
arr = []
for _ in range(N):
    age, name = sys.stdin.readline().split()
    arr.append([int(age), name])

# 2. 2차원 배열을 정렬합니다. 이 때 1열의 값이 같을 경우, 2열의 정렬 순서는 배열의 원래 순서 유지
arr.sort(key=lambda x: (x[0]))
for i in arr:
    print(i[0], i[1])

profile
매일매일 머리 터지는 중 ᕙ(•̀‸•́‶)ᕗ
post-custom-banner

0개의 댓글