자바/백준
[백준 10814] 나이순 정렬
슈슈버거
2022. 11. 21. 15:36
문제
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
내가 작성한 코드
import java.io.*;
import java.util.*;
public class qor10814 {
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 num = Integer.parseInt(br.readLine());
HashMap<Integer, String> members = new HashMap<>();
for(int i = 0; i<num; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
int age = Integer.parseInt(st.nextToken());
String name = st.nextToken();
if(members.containsKey(age)){
members.put(age, members.get(age)+" "+name);
}
else{
members.put(age, name);
}
}
Map<Integer, String> sortedMembers = new TreeMap<>(members);
ArrayList<Integer> ages = new ArrayList<>(sortedMembers.keySet());
for(int i = 0; i<ages.size(); i++){
StringTokenizer st2 = new StringTokenizer(sortedMembers.get(ages.get(i)));
while(st2.hasMoreTokens()){
bw.write(ages.get(i)+" "+st2.nextToken()+"\n");
}
}
bw.close();
}
}