반응형
🔺 문제
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
🔺 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
var br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String[][] arr = new String[n][2];
// 입력
for(int i=0 ; i < n ; i++) {
var st = new StringTokenizer(br.readLine(), " ");
arr[i][0] = st.nextToken(); // 나이
arr[i][1] = st.nextToken(); // 이름
}
// 나이 순 정렬
Arrays.sort(arr, new Comparator<String[]>() {
@Override
public int compare(String[] s1, String[] s2) {
return Integer.parseInt(s1[0]) - Integer.parseInt(s2[0]);
}
});
// 출력
var sb = new StringBuilder();
for(int i=0 ; i < n ; i++) {
sb.append(arr[i][0] + " " + arr[i][1]).append("\n");
}
System.out.println(sb);
}
}
✅ 해결 아이디어
- 나이 순 정렬 :Integer.parseInt(s1[0]) - Integer.parseInt(s2[0]);
- 나이가 같으면 가입한 순으로 정렬 : 그냥 냅두기
(참고)
✔ 사용자 정의 정렬 문제들
[백준/JAVA] 11650번: 좌표 정렬하기
🔺 문제 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고,
bono039.tistory.com
[백준/JAVA] 11651번: 좌표 정렬하기 2
🔺 문제 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고,
bono039.tistory.com
[백준/JAVA] 1181번: 단어 정렬
🔺 문제 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길
bono039.tistory.com
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 24060번: 알고리즘 수업 - 병합 정렬 1 (0) | 2023.03.23 |
---|---|
[백준/JAVA] 18870번: 좌표 압축 (0) | 2023.03.22 |
[백준/JAVA] 1181번: 단어 정렬 (0) | 2023.03.21 |
[백준/JAVA] 11651번: 좌표 정렬하기 2 (0) | 2023.03.21 |
[백준/JAVA] 11650번: 좌표 정렬하기 (0) | 2023.03.21 |