"꾸준하고 완벽한 한 걸음"

PS/Baekjoon Online Judge

[백준 28445] 알록달록 앵무새 [Java]

kimyoungrok 2025. 4. 21. 11:47
728x90

문제

https://www.acmicpc.net/problem/28445

 


풀이

두 앵무새의 몸통과 꼬리색을 사용해 모든 쌍을 만들면 되는 문제다.

우선 입력을 받을 때 몸통과 꼬리색이 중복될 수 있으니, 집합에 색상들을 담아주자.

        // Input
        Set<String> set = new HashSet<>();
        StringTokenizer st = new StringTokenizer(br.readLine());
        set.add(st.nextToken());
        set.add(st.nextToken());
        st = new StringTokenizer(br.readLine());
        set.add(st.nextToken());
        set.add(st.nextToken());

집합에 있는 색상들을 중복 사용해 가능한 모든 쌍(몸통 + 꼬리)을 하나의 문자열로 만들어 담아주자.

        // Solve
        List<String> res = new ArrayList<>();
        for (String s1 : set) {
            for (String s2 : set) {
                res.add(s1 + " " + s2);
            }
        }

몸통, 꼬리 쌍을 사전 순으로 출력해야 한다. 그냥 결과 리스트에 담아둔 문자열들을 정렬하면 된다.

        res.sort(String::compareTo);

풀이 시간

≤ 5m


소스코드

https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/28445.java

728x90