https://www.acmicpc.net/problem/16499
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
HashSet<String> hs = new HashSet<>();
for(int i=0; i<n; i++){
String str= sc.next();
char[] word = str.toCharArray();
Arrays.sort(word);
hs.add(Arrays.toString(word));
}
System.out.println(hs.size());
}
}
입력받은 문자열을 char형 배열에 담아 정렬해주고, 다시 문자열로 변환해 hashSet에 넣어준다.
hashSet은 중복 저장을 하지 않으므로 hashSet의 크기가 정답이 된다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 알고리즘 : Stack- 올바른 괄호 (0) | 2022.07.11 |
---|---|
[JAVA] 백준 13414번- 수강신청 (0) | 2022.07.07 |
[JAVA] 백준 10546번- 배부른 마라토너 (0) | 2022.07.06 |
[JAVA] 백준 1822번- 차집합 (0) | 2022.07.06 |
[JAVA] 알고리즘 : TreeSet - k번째 큰 수 (0) | 2022.07.06 |