728x90
문제
피카츄는 "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
'Algorithm > Baekjoon' 카테고리의 다른 글
Baekjoon 19638 센티와 마법의 뿅망치 JAVA (0) | 2022.09.18 |
---|---|
Baekjoon 22233 가희와 키워드 JAVA (0) | 2022.09.16 |
Baekjoon 1417 국회의원 선거 JAVA (1) | 2022.09.16 |
Baekjoon 10813 공 바꾸기 JAVA (0) | 2022.09.15 |
Baekjoon 11719 그대로 출력하기 2 JAVA (0) | 2022.09.14 |
댓글