반응형

 

 

 

<코드>

import java.util.*;
public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		String arr[][]  = new String[N][3]; // [나이][이름][가입순서]
		sc.nextLine();
		
		for (int i = 0; i < N; i++) {
			String s = sc.nextLine();
			String tmp[] = s.split(" ");
			arr[i][0] = tmp[0]; // 나이
			arr[i][1] = tmp[1]; // 이름
			arr[i][2] = Integer.toString(i); // 가입순서
		}
		
		// 1.나이순으로, 2.가입순으로
		Arrays.sort(arr,(a,b)-> {
			if(a[0] == b[0]) {
				return a[2].compareTo(b[2]);
			}else {
				return Integer.parseInt(a[0])-Integer.parseInt(b[0]);
			}
		});
		
		for (int i = 0; i < N; i++) {
			System.out.println(arr[i][0] + " " + arr[i][1]);
		}
	}
}

 

 

 

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

 

10814번: 나이순 정렬

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

www.acmicpc.net

 

반응형

+ Recent posts