백준공부/java

[백준] 15904번 UCPC는 무엇의 약자일까 ? (silver 5

gomduri43 2024. 1. 1. 12:02

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));

        String a=br.readLine();
        HashMap<String, Integer> dict=new HashMap<>();

        for(int i=0; i<a.length(); i++){
            if(a.charAt(i)=='U'){
                dict.put("U",1);
            }
            else if(a.charAt(i)=='C'){
                if(dict.get("U") !=null){
                    dict.put("UC",1);
                }
                if(dict.get("UCP") !=null) {
                    dict.put("UCPC", 1);
                }
            }
            else if(a.charAt(i)=='P'){
                if(dict.get("UC")!=null) {
                    dict.put("UCP", 1);
                }
            }
        }

        bw.write( dict.get("UCPC")!=null ? "I love UCPC" : "I hate UCPC");
        bw.flush();
    }
}


// ucpc는 결국 대문자 u,c,p,c 가 순서대로 나와야한다. 이를 구분하려면,
// 그냥 hashmap을 이용하여 단어를 만들어가면, 결국 이는 전단계까지 완성되었는지가 
// 순서를 통해 결정되므로, 모든 조건을 만족한다.