엄지월드

백준 14405 피카츄 본문

알고리즘

백준 14405 피카츄

킨글 2024. 7. 22. 22:41

설명

replace 할 때에 S.replace("pi", "")와 같이 replace 되는 문자를 공백으로 처리했었는데, 틀리다고 나왔었다.

이유를 보니 kpia와 같이 문자가 있을 때에 pi가 replace되면서 ka 문자가 되었기 때문이다.

이렇게 되면 모두 replace가 되어 공백이라 YES가 나오게 된다. 정답은 NO가 나와야 한다. 

그래서 *와 같이 임의의 문자로 치환한 후에 마지막에 "" 공백으로 처리했다. 

각각 replace하고 싶지 않으면 replaceAll("pi|ka|chu", "")와 같이 한번에 처리해도 된다. 

코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

    // 14405
    public static void main(String[] args) throws IOException {
        process();
    }

    private static void process() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String S = br.readLine();

        String result = S.replace("pi", "*")
            .replace("ka", "*")
            .replace("chu", "*")
            .replace("*", "");

        if(result.length() == 0) {
            bw.write("YES");
        } else {
            bw.write("NO");
        }

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

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

백준 16212 정열적인 정렬  (0) 2024.07.24
백준 14912 숫자 빈도수  (2) 2024.07.23
백준 2535 아시아 정보올림피아드  (0) 2024.07.21
백준 5555 반지  (0) 2024.07.20
백준 2303 숫자 게임  (0) 2024.07.10
Comments