BOJ 10814 나이순 정렬
자바를 이용하여 처음으로 코딩테스트 문제를 풀어보았다.
- 문제 링크
https://www.acmicpc.net/problem/10814
- 문제 해설
정렬 알고리즘을 이용한 간단한 문제이다.
해결해야 하는 점은 나이가 같을 시에 순서가 뒤바뀌지 않도록 해야하는 것이다.
compare 메소드를 재정의하여 풀었는데, 나이끼리만 비교하여 나이가 같을 시에 입력된 순서대로 정렬되도록 하였다.
- 코드 보기
import java.io.*;
import java.util.*;
public class Main
{
static int n;
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
n = Integer.parseInt(br.readLine());
String member[][] = new String[n][2];
for (int i = 0; i < n; i++)
{
st = new StringTokenizer(br.readLine());
member[i][0] = st.nextToken();
member[i][1] = st.nextToken();
}
Arrays.sort(member, new Comparator<String[]>()
{
public int compare(String[] s1, String[] s2)
{
return Integer.parseInt(s1[0]) - Integer.parseInt(s2[0]);
}
});
for(int i=0; i<n; i++)
{
System.out.println(member[i][0]+' '+member[i][1]);
}
}
}
분명 틀린 것이 없는데 자꾸 컴파일 에러가 났었었다. 이유는 백준에서 java로 제출할 시에 class 이름을 Main으로 해야만 한다는 사실을 몰랐었기 때문이다.
'PS > BOJ' 카테고리의 다른 글
BOJ 10989 수 정렬하기 3 [Java] (0) | 2021.07.16 |
---|---|
BOJ 10825 국영수 [Java] (0) | 2021.07.15 |
BOJ 11052 카드 구매하기 (0) | 2021.07.12 |
BOJ 2011 암호코드 (0) | 2021.07.12 |
BOJ 2225 합분해 (0) | 2021.07.09 |