본문 바로가기
Algorithm/Baekjoon

Baekjoon 14405 피카츄 JAVA

by Hunveloper 2022. 9. 16.
728x90

 

14405번: 피카츄

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

www.acmicpc.net

문제

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

문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문자열인지 아닌지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 문자열 S가 주어진다. 문자열은 알파벳 소문자로 이루어진 문자열이며, 길이는 5000을 넘지 않는다.

출력

문자열 S가 "pi", "ka", "chu"를 이어 붙여서 만들 수 있으면 "YES"를 아니면 "NO"를 출력한다.

풀이

정규 표현식을 이용하여 문제를 해결한다.

만약에 주어진 문자열 "kapichu"가 있다면

"pi", "ka", "chu"를 각각 이용하여 존재하는 문자를 공백으로 바꾸어준다.

그러면 replace후에 생기는 문자열은 "   "가 될것이다.

마지막에 공백을 ""로 바꾸어주면 문자열의 길이는 0이 될것이다.

이 문자열의 경우 피카츄가 발음할 수 있는 문자열이 된다.

 

다만 주어진 문자열이 "chuppika"라면 replace후에 문자는 " p  "가 된다.

공백을 ""로 바꾸면 최종적으로 남는 문자열은 "p"가 되고, 이 문자열은 피카츄가 발음할 수 없기에 NO를 출력한다.

코드
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println(sc.nextLine().replace("pi"," ").replace("ka"," ").replace("chu"," ").replace(" ","").length()>0?"NO":"YES");
	}
}

 

728x90
728x90

댓글