https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWqU0zh6rssDFARG
HashSet을 이용해서 중복을 제거해준 다음, list로 바꿔서 정렬해 주었다.
길이가 같을 때도 정렬을 해줘야 한다.
package day4;
import java.io.*;
import java.util.*;
public class Solution_d4_7701_염라대왕의이름정렬 {
static int N;
static StringBuilder sb;
static HashSet<String> hs;
public static void main(String[] args) throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int T=Integer.parseInt(br.readLine());
for(int tc=1; tc<=T; tc++) {
sb=new StringBuilder();
sb.append("#"+tc+"\n");
N=Integer.parseInt(br.readLine());
hs=new HashSet<String>();
for(int i=0; i<N; i++) {
String s=br.readLine();
hs.add(s);
}
List list = new ArrayList(hs);
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if(o1.length()==o2.length()) {
return o1.compareTo(o2);
}else return o1.length()-o2.length();
}
});
for(int i=0; i<list.size(); i++) {
sb.append(list.get(i)+"\n");
}
System.out.print(sb.toString());
}
}
}
'알고리즘 문제풀이 > SWEA' 카테고리의 다른 글
[SWEA 1868] 파핑파핑 지뢰찾기(JAVA) (0) | 2020.03.16 |
---|---|
[SWEA 3378] 스타일리쉬 들여쓰기(JAVA) (2) | 2020.03.13 |
[SWEA 1251] 하나로(JAVA/C++) (0) | 2020.03.11 |
[SWEA 7396] 종구의 딸이름 짓기(JAVA) (0) | 2020.03.10 |
[SWEA 7793] 오! 나의 여신님(JAVA) (0) | 2020.03.10 |
댓글