알고리즘 문제 풀이

백준 14405 피카츄 (JAVA 자바)

superbono 2021. 5. 7. 20:39

문제 출처 - www.acmicpc.net/problem/14405

 

14405번: 피카츄

피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문

www.acmicpc.net

문제 유형 - 문자열

문자열의 길이만큼 돌되, i + 1보다 작거나 i + 2보다 작다는 검사를 해 주어야 문자열의 길이를 벗어나지 않을 수 있다. 이것 때문에 틀렸었다...

 

-코드-

import java.util.Scanner;

public class BJ14405_피카츄 {
	static String str;
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		str = sc.next();
		int i = 0;
		while(i < str.length()) {
			if(i + 1 < str.length() && str.charAt(i) == 'p' && str.charAt(i + 1) == 'i') {
				i += 2;
			} else if(i + 1 < str.length() && str.charAt(i) == 'k' && str.charAt(i + 1) == 'a') {
				i += 2;
			} else if(i + 2 < str.length() && str.charAt(i) == 'c' && str.charAt(i + 1) == 'h' && str.charAt(i + 2) == 'u')
				i += 3;
			else {
				System.out.println("NO");
				System.exit(0);
			}
		}
		System.out.println("YES");
	}
}