반응형

 

[광고 누르면 오늘의 행운 상승!!]

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

 

14405번: 피카츄

피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문자열인지 아닌지 구하는 프로그램을 작성하시오.

www.acmicpc.net

1. String배열에 "pi", "ka", "chu"를 저장한다.

2. 입력받은 문자열의 길이만큼 for문을 돈다.

3. 문자열의 위치마다 "pi", "ka", "chu" 와 문자열 subString하여 비교한다.

4. 셋중 하나라도 있으면 continue 없으면 return

package Study0319;

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

public class 피카츄 {
	public static String[] pikachu = {"pi", "ka", "chu"};
	public static void main(String[] args) throws Exception {
		System.setIn(new FileInputStream("test.txt"));
		Scanner sc = new Scanner(System.in);
		
		String s = sc.next();
		
		int L = s.length();
		
		boolean flag = false;
		
		for (int i = 0; i < L; i++) {
			flag= false;
			for (int j = 0; j < 3; j++) {
				if(i + pikachu[j].length() > L) continue;
				String temp = s.substring(i, i+pikachu[j].length());
				
				if(temp.equals(pikachu[j])) {
					i += temp.length()-1;
					
					flag = true;
					continue;
				}
			}
			if(!flag) {
				System.out.println("NO");
				return;
			}
		}
		System.out.println("YES");
	
	}
}
반응형

+ Recent posts