코딩테스트 연습 기록

이종길·2022년 1월 14일
0

코딩테스트 연습

목록 보기
47/128

2022.01.14 23일차

백준 10814번 (나이순 정렬)

문제

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

나의 풀이

  1. 나이, 이름 2차원 String 배열로 받기
  2. 나이를 기준으로 배열 정렬 재정의
  3. 오름차순으로 양수이면 교체
  4. 같으면 교체X, 먼저 가입한 사람이 앞에 오는 구조
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int N = scanner.nextInt();

        String[][] nArr = new String[N][2];

        for (int i = 0; i < N; i++) {
            nArr[i][0] = scanner.next();
            nArr[i][1] = scanner.next();
        }

        Arrays.sort(nArr, new Comparator<String[]>() {
            @Override
            public int compare(String[] o1, String[] o2) {
                return Integer.parseInt(o1[0]) - Integer.parseInt(o2[0]);
            }
        });

        for (int x = 0; x < N; x++) {
            System.out.println(nArr[x][0] + " " + nArr[x][1]);
        }

    }
}

생각하기

  • Arrays.sort 재정의 문제
profile
Go High

0개의 댓글

관련 채용 정보