엄지월드

백준 15904 UCPC는 무엇의 약자일까? 본문

알고리즘

백준 15904 UCPC는 무엇의 약자일까?

킨글 2024. 5. 13. 20:45
반응형

문제

설명

- 대문자만 upperStr 리스트에 담았다. 

- UUCCPPCC와 같이 문자가 올 수 있으므로 searchIdx와 searchStr을 운영해서 순서대로 문자가 있는지 찾아내었다.

코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

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 input = br.readLine();
        final int length = input.length();
        List<Character> upperStr = new ArrayList<>();
        for (int i = 0; i < length; i++) {
            int num = input.charAt(i);
            // 대문자 범위
            if(num >= 65 && num <= 96) {
                upperStr.add((char)num);
            }
        }

        int searchIdx = 0;
        String searchStr = "UCPC";
        boolean isUCPC = false;

        for (int i = 0; i < upperStr.size(); i++) {
            if(searchStr.charAt(searchIdx) == upperStr.get(i)) {
                searchIdx++;
            }

            if(searchIdx == 4) {
                isUCPC = true;
                break;
            }
        }

        if(isUCPC) {
            bw.write("I love UCPC");
        } else {
            bw.write("I hate UCPC");
        }

        bw.flush();
        bw.close();
    }
}

 

'알고리즘' 카테고리의 다른 글

백준 11576 Base Conversion  (0) 2024.06.29
백준 4158 CD  (0) 2024.06.25
백준 4659 비밀번호 발음하기  (0) 2024.05.09
백준 5800 성적 통계  (0) 2024.05.08
백준 16435 스네이크버드  (0) 2024.05.06
Comments