풀이방법
사용된 것:
Comparator 오버라이딩
정렬
2022.03.26
Comparator를 오버라이딩한 후 Arrays.sort()를 사용해 정렬하면 된다.
코드
Java(2022.03.26, Comparator를 미리 정의해둔 뒤 불러내는 방법)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
static String[] arr;
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
//Comparator Overriding
Comparator<String> cp = new Comparator<String>() {
@Override
public int compare(String str1, String str2) {
// TODO Auto-generated method stub
if (str1.length()==str2.length()) {
return str1.compareTo(str2);
}
else return str1.length() - str2.length();
}
};
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
arr = new String[n];
for(int i = 0; i<n; i++) {
arr[i] = br.readLine();
}
Arrays.sort(arr, cp);
System.out.println(arr[0]);
for(int i = 1; i<n; i++) {
if(!arr[i].equals(arr[i-1]))System.out.println(arr[i]);
}
}
}
Java(2022.03.26, Arrays.sort()문 내에서 Comparator를 정의하는 방법)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
static String[] arr;
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
arr = new String[n];
for(int i = 0; i<n; i++) {
arr[i] = br.readLine();
}
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String str1, String str2) {
// TODO Auto-generated method stub
if(str1.length()==str2.length()) {
return str1.compareTo(str2);
}else return str1.length() - str2.length();
}
});
System.out.println(arr[0]);
for(int i = 1; i<n; i++) {
if(!arr[i].equals(arr[i-1]))System.out.println(arr[i]);
}
}
}
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
#15312 : 이름 궁합 (0) | 2022.03.27 |
---|---|
#1620 : 나는야 포켓몬 마스터 이다솜 (0) | 2022.03.27 |
#10951 : A + B - 4 (0) | 2022.03.26 |
#1932 : 정수 삼각형 (0) | 2022.03.24 |
#2839 : 설탕 배달 (0) | 2022.03.24 |