https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
import java.io.*;
import java.util.*;
public class Main
{ public static class User{
protected String name;
protected Integer age;
public User(String name,Integer age){
this.name = name;
this.age =age;
}
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.valueOf(br.readLine());
User[] users = new User[n];
for(int i=0; i<n;i++){
String[] temp = br.readLine().split(" ");
users[i] = new User(temp[1],Integer.valueOf(temp[0]));
}
Arrays.sort(users,(u1,u2)->(u1.age-u2.age));
for(int i=0;i<n;i++){
bw.write(users[i].age+" "+ users[i].name+"\n");
}
bw.flush();
}
}
// 클래스를 분리
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.valueOf(br.readLine());
User[] users = new User[n];
for(int i=0; i<n;i++){
String[] temp = br.readLine().split(" ");
users[i] = new User(temp[1],Integer.valueOf(temp[0]));
}
Arrays.sort(users,(u1,u2)->(u1.age-u2.age));
for(int i=0;i<n;i++){
bw.write(users[i].age+" "+ users[i].name+"\n");
}
bw.flush();
}
}
public class User{
String name;
Integer age;
User(String name,Integer age){
this.name = name;
this.age =age;
}
}
나는 Object 정렬의 stable 성질를 이용해서 아이디를 클래스의 원소로 넣지 않았다.
'Problem Solving > 정렬' 카테고리의 다른 글
BOJ1302 베스트셀러 (0) | 2024.02.06 |
---|---|
BOJ 7785 회사에 있는 사람 (1) | 2024.02.06 |
BOJ1181 단어 정렬 (0) | 2024.02.05 |
광물 캐기 (1) | 2023.10.16 |
BOJ1946 신입 사원 (0) | 2023.04.06 |
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
import java.io.*;
import java.util.*;
public class Main
{ public static class User{
protected String name;
protected Integer age;
public User(String name,Integer age){
this.name = name;
this.age =age;
}
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.valueOf(br.readLine());
User[] users = new User[n];
for(int i=0; i<n;i++){
String[] temp = br.readLine().split(" ");
users[i] = new User(temp[1],Integer.valueOf(temp[0]));
}
Arrays.sort(users,(u1,u2)->(u1.age-u2.age));
for(int i=0;i<n;i++){
bw.write(users[i].age+" "+ users[i].name+"\n");
}
bw.flush();
}
}
// 클래스를 분리
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.valueOf(br.readLine());
User[] users = new User[n];
for(int i=0; i<n;i++){
String[] temp = br.readLine().split(" ");
users[i] = new User(temp[1],Integer.valueOf(temp[0]));
}
Arrays.sort(users,(u1,u2)->(u1.age-u2.age));
for(int i=0;i<n;i++){
bw.write(users[i].age+" "+ users[i].name+"\n");
}
bw.flush();
}
}
public class User{
String name;
Integer age;
User(String name,Integer age){
this.name = name;
this.age =age;
}
}
나는 Object 정렬의 stable 성질를 이용해서 아이디를 클래스의 원소로 넣지 않았다.
'Problem Solving > 정렬' 카테고리의 다른 글
BOJ1302 베스트셀러 (0) | 2024.02.06 |
---|---|
BOJ 7785 회사에 있는 사람 (1) | 2024.02.06 |
BOJ1181 단어 정렬 (0) | 2024.02.05 |
광물 캐기 (1) | 2023.10.16 |
BOJ1946 신입 사원 (0) | 2023.04.06 |