[Python]백준 #10814 나이순 정렬(class2+)

2022. 3. 12. 23:33· 알고리즘/백준(BOJ) 문제 풀이
목차
  1. ✔ 알고리즘
  2. ✔ 접근방법
  3. ✔  코드
  4. ✔ 배운점/아쉬운점
반응형

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

 

10814번: 나이순 정렬

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

www.acmicpc.net

  • 나이순 정렬
  • 나이 같으면 등록순 정렬(입력순)

✔ 알고리즘

  • 정렬

✔ 접근방법

1. 나이를 기준으로 정렬 해야 한다고 접근

2. 한 줄에 공백을 기준으로 여러 단어를 한 묶음으로 하여 여러줄 입력받는 것에서 헤맴

-> 처음엔 딕셔너리 형식으로 입력 받았으나 나이가 먼저 입력값으로 들어가면서 key값이 되고 나이가 중복되면서 제대로 저장X (input().split()의 반환 형태에 대해 잘 알지 못해 발생한 문제)

3. 2차원 리스트로 입력받고 sorted()/sort() 를 사용해 나이를 기준(key)으로 지정해 정렬

 💡나이를 기준으로 정렬한다는 것은 정수를 기준으로 한다는 것이므로 반드시 int형으로 변환하여 정렬 기준으로 지정

 

✔  코드

N = int(input())
mem = list(input().split() for _ in range(N))
#mem.sort(key=lambda x:int(x[0])) #value값->age을 기준으로 정렬
mem = sorted(mem,key=lambda x:int(x[0])) #int형으로 바꿔줘 숫자를 기준으로 정렬해야 정답
for j in mem:
    print(j[0],j[1])

✔ 배운점/아쉬운점

1. input().split()을 하면 공백을 기준으로 문자가 잘려서 리스트로 저장 -> 반복문을 사용해 N번 반복하고 그 리스트들을 다시 list로 묶어 2차원 list를 만듬

2. 변수명.sort()  vs  sorted()

  - 변수명.sort() : 기존 자료구조를 변경

  - sorted() : 기존의 것은 변경X, 새로운 객체 반환

    sorted(iterable한 객체, key = 정렬 기준)   ex) sorted(mem, key=x:int(x[0]))  => 리스트 mem에서 원소 하나씩 꺼내서 매개변수 x로 받고, x의 0번째 원소를 int형으로 바꾼 것을 기준으로 정렬

  

3. 여전히 입력값을 받는 것에서 함수의 return 값을 제대로 이해하지 못해 유연하게 사용X

반응형

'알고리즘 > 백준(BOJ) 문제 풀이' 카테고리의 다른 글

[Python]백준 #1018 체스판 다시 칠하기  (0) 2022.07.03
[Python]백준 #1259 팰린드롬수(class2+)  (0) 2022.03.13
[Python]백준 #11050 이항계수1(class2+)  (0) 2022.03.12
[Python]백준 #10250 ACM호텔(class2+)  (0) 2022.03.12
[Python] 백준 #1181 단어 정렬(class2+)  (2) 2022.03.10
  1. ✔ 알고리즘
  2. ✔ 접근방법
  3. ✔  코드
  4. ✔ 배운점/아쉬운점
'알고리즘/백준(BOJ) 문제 풀이' 카테고리의 다른 글
  • [Python]백준 #1259 팰린드롬수(class2+)
  • [Python]백준 #11050 이항계수1(class2+)
  • [Python]백준 #10250 ACM호텔(class2+)
  • [Python] 백준 #1181 단어 정렬(class2+)
gangmini
gangmini
gangmini
게으른J 의 테크로그
gangmini
전체
오늘
어제
글쓰기방명록관리자
  • 분류 전체보기 (127)
    • 인공지능(AI) & 데이터 분석 (5)
    • Android (91)
      • Coroutine (3)
      • Compose (0)
      • 안드로이드 CS (0)
    • Kotlin (3)
    • Data Structure (0)
    • 알고리즘 (20)
      • 알고리즘 이론 (11)
      • 백준(BOJ) 문제 풀이 (9)
    • Build Tool (2)
    • Git (2)
    • 일본어 (0)
    • 기타(취준, 활동) (0)


인기 글



최근 댓글



최근 글

hELLO · Designed By 정상우.v4.2.2
gangmini
[Python]백준 #10814 나이순 정렬(class2+)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.