String 타입은 문자열 내부에서 정렬이 불가능하다. 그래서 문자열.toCharArray();
를 사용해 문자열을 char 배열로 바꾼다.
정렬 수행 후 다시 char배열을 String타입으로 바꿔야 한다.
반대의 동작으로 Arrays.toString(배열명);
을 사용한다.
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class BJ16499 {
static Scanner sc = new Scanner(System.in);
static String [] words;
public static void main(String[] args) {
inputData();
System.out.println(findAnswer());
}
public static void inputData(){
int N, i;
char[] word;
N = sc.nextInt();
words = new String[N];
for(i = 0; i < N; i++){
word = sc.next().toCharArray();
System.out.print(Arrays.toString(word) + " -> ");
Arrays.sort(word);
System.out.println(Arrays.toString(word));
words[i] = Arrays.toString(word);
}
sc.close();
}
public static int findAnswer(){
int i;
Set<String> list = new HashSet<>();
for(i = 0; i < words.length; i++){
list.add(words[i]);
}
for(String temp : list){
System.out.println(temp);
}
return list.size();
}
}