Competition/Baekjoon

[백준] 10814번 자바 array2차원배열

bisi 2020. 3. 11. 15:56
문제 출처 

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

 

10814번: 나이순 정렬

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

www.acmicpc.net

 

 

 

접근 방식 및 풀이

- Map으로 해야하나 고민했지만, 같은 index가 들어오는 경우도 있기 때문에

2차원 배열로 해야한다. 

- 2차원 배열의 sort도 기억하기...

 

 

 

 

소스 코드 
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Map<Integer, String> map = new HashMap<>();
        String[][] arr = new String[n][2];
        for (int i = 0; i <n ; i++) {

            arr[i][0] = sc.next();
            arr[i][1] = sc.next();

        }
        Arrays.sort(arr,new Comparator<String[]>() { // 0:나이 , 1:이름
            @Override
            public int compare(String[] o1,String[] o2) {
                return Integer.compare(Integer.parseInt(o1[0]), Integer.parseInt(o2[0]));
            }

        });

        for (int i = 0; i <n ; i++) {
            System.out.println(arr[i][0] +" " + arr[i][1]);
        }

    }

}

 

 

 

 

결과 

 

'Competition > Baekjoon' 카테고리의 다른 글

[백준] 10820번 자바 아스키코드활용  (0) 2020.03.11
[백준] 10809번 자바  (0) 2020.03.11
[백준] 10808번 자바 LIST  (0) 2020.03.11