문제 내용은 엄마 새와 아빠 새의 색깔을 받아서, 중복되지 않게 사전순으로 가능한 조합 리스트를 깔아주면 되는데, 엄마 아빠 새, 몸통 꼬리 색 이런 거에 매몰될 필요 없이 4가지 색을 받아서 중복되지 않게 사전순으로 깔아주면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<String> list = new ArrayList<>();
for (int i = 0; i < 2; i++) {
String[] split = br.readLine().split(" ");
list.add(split[0]);
list.add(split[1]);
}
Collections.sort(list);
List<String> list2 = new ArrayList<>(list);
TreeSet<String> set = new TreeSet<>();
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size(); j++) {
StringBuilder sb = new StringBuilder();
set.add(sb.append(list.get(i)).append(" ").append(list2.get(j)).toString());
}
}
for (String s : set) {
System.out.println(s);
}
}
}
문제를 풀어보자면 입력받은 내용을 리스트에 넣어주고, 정렬시켜 사전순으로 만들어준 뒤, 리스트 하나를 추가로 만들어 정렬시킨 내용을 넣어주고 2중 for문을 돌리면서 모든 조합을 꺼내 양식에 맞춰서 Set에 넣어주면 되는데 Set에서는 중복을 허용하지 않기 때문에
for문을 끝내고 난 뒤 Set의 모든 값을 꺼내보면 사전순으로 중복 없이 꺼낼 수 있다.
Leave a Reply