solution
나이순, 나이가 같으면 가입한 순 --> 가입한 순서는 이미 정렬된 상태. 나이만 비교하면 된다.
// 10814, 나이순 정렬
package BOJ;
import java.io.*;
import java.util.*;
public class BOJ_10814 {
int N;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
String [][]members = new String[N][2];
for (int i=0;i<N;i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
members[i][0]=st.nextToken();
members[i][1]=st.nextToken();
}
// 람다식
Arrays.sort(members, (s1, s2) -> {
return Integer.parseInt(s1[0])-Integer.parseInt(s2[0]);
});
// Comparator
Arrays.sort(members, new Comparator<String[]>(){
@Override
public int compare(String [] s1, String [] s2) {
return Integer.parseInt(s1[0])-Integer.parseInt(s2[0]);
}
});
for (String [] member:members) {
System.out.println(member[0]+" "+member[1]);
}
}
}
문제 출처 www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
'알고리즘 > 정렬' 카테고리의 다른 글
파이썬 | 백준 | 2865 | 나는 위대한 슈퍼스타K | 소수 출력 (0) | 2020.08.15 |
---|---|
백준 | 파이썬 | 1431 | 시리얼 번호 (0) | 2020.08.06 |
파이썬 | 백준 | 1728 | 구슬 굴리기 | list에 있는지 : in 없는지 : not in (0) | 2020.08.04 |
파이썬 | 백준 | 10825 | 국영수 (0) | 2020.07.30 |