[SWEA] 염라대왕의 이름 정렬

문제 보러가기

제한사항

이름에는 공백이 포함되지 않으며 최소 1개, 최대 50개의 알파벳으로 이루어져 있다.

첫번째 생각

모든 이름을 다시 정리하고 => 정렬 사용

같은 이름은 하나만 남겨놓기로 => Set 사용

  • HashSet이 어떻게 구성되어있는지 조사해보고 포스팅 할 것.

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.*;
import java.io.*;

public class Solution {
	public static void main(String args[]) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(br.readLine());
		for (int tc = 1; tc <= T; tc++) {
			int N = Integer.parseInt(br.readLine());
			HashSet<String> set = new HashSet<String>();
			for (int i = 0; i < N; i++)
				set.add(br.readLine());
			ArrayList<String> list = new ArrayList<String>(set);
			Collections.sort(list, new Comparator<String>() {
				public int compare(String o1, String o2) {
					if (o1.length() > o2.length())
						return 1;
					else if (o1.length() < o2.length())
						return -1;
					else
						return o1.compareTo(o2);
				}
			});
			System.out.println("#" + tc);
			for (String s : list)
				System.out.println(s);
		}
	}
}