https://www.acmicpc.net/problem/1181
1181๋ฒ: ๋จ์ด ์ ๋ ฌ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 20,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 50์ ๋์ง ์๋๋ค.
www.acmicpc.net
์ค๋ต๋ ธํธ(ํธ๋ ๋์ ์ฌ๊ณ ๊ณผ์ ๋ฐ ๊ฐ์ ์ )
sort๋ฅผ ์ด์ฉํ๋ฉด ๋๊ฒ ๋ค ์ถ์๋ค. String์ ์ ๋ ฌํ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ์ ์์ผ๋ก ์ ๋ ฌ๋ ๋ฆฌ์คํธ๋ฅผ ๋ค์ Comparable Interface๋ฅผ ๊ตฌํํด์ ๊ธธ์ด์์ผ๋ก ์ ๋ ฌํด์ฃผ๋ฉด ๋๋ค.
์ ๋ต์ฝ๋
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<String> input = new ArrayList<>();
for(int i=0; i<n; i++){
String t = sc.next();
if(!input.contains(t)){
input.add(t);
}
}
Collections.sort(input);
Collections.sort(input, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
});
for(int i=0; i<input.size(); i++){
System.out.println(input.get(i));
}
}
}
compare์ ๋ฐํ๋๋ ๊ฐ์ด ์์๋ฉด ๋ด๋ฆผ์ฐจ์, ์์๋ฉด ์ค๋ฆ์ฐจ์, 0์ด๋ฉด ์๋ณธ ์์ ์ ์ง๋ค.
๋์์ด ๋๋ค๋ฉด ๋๊ธ์ด๋ ๊ณต๊ฐ ๋ฒํผ ํ ๋ฒ์ฉ ๋๋ฅด๊ณ ๊ฐ์ฃผ์ธ์! ๋ก๊ทธ์ธ ์ํด๋ ๋ฉ๋๋ค ^_^
๋ฐ์ํ
'OJ๐ผ > ์ค๋ต๋ ธํธ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][JAVA] 15988: 1, 2, 3 ๋ํ๊ธฐ 3 (0) | 2024.01.28 |
---|---|
[BOJ][JAVA] 2910๋ฒ: ๋น๋์ ๋ ฌ (0) | 2024.01.27 |
[BOJ][JAVA] 1021: ํ์ ํ๋ ํ (0) | 2024.01.16 |
[BOJ][JAVA] 11068: ํ๋ฌธ์ธ ์ (0) | 2024.01.14 |
[BOJ][JAVA] 1260 : DFS์ BFS (0) | 2024.01.13 |