카테고리 없음

[AtCoder Beginners Selection] ABC049C - 白昼夢

반응형

AtCoder Beginners Selection은 아주 기본적인 문제하 조금만 생각하면 풀수 있었다. 

근데 ABC049C - 白昼夢여기서 처음으로 고비를 맞아버렸다. 

https://atcoder.jp/contests/abs/tasks/arc065_a

英小文字からなる文字列 S が与えられます。 Tが空文字列である状態から始め、以下の操作を好きな回数繰り返すことで S = T とすることができるか判定してください。

T の末尾に dream dreamer erase eraser のいずれかを追加する。

S=T とすることができる場合 YES を、そうでない場合 NOを出力せよ。
더보기

영소문자로 이루어진 문자열 S 가 주어집니다. T가 빈 문자열인 상태로부터 시작해 이하의 조작을 좋아하는 회수 반복하는 것으로 S = T S = T 로 할 수 있는지 판정해 주세요.

T의 말미에 dream dreamer erase eraser 중 하나를 추가한다.

S=T로 할 수 있는 경우 YES를, 그렇지 않은 경우 NO를 출력하라.

반복되는 문자열이 "dream dreamer erase eraser" 반복에 해당되는지 푸는 문제. 

처음에는 간단하게 T를 List에 넣고 for문으로 처음 문자열의 처음시작부터 T배열에 같은 문자가 있으면 replace로 ""로 문자열 삭제하여 s갱신.

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
 		Scanner sc = new Scanner(System.in);
		
		String s = sc.next().toLowerCase();
		sc.close();
		
		String[] t = {"eraser","erase","dreamer","dream"};

		
		for(int i=0;i<t.length;i++){
			s = s.replace(t[i], "");
		}
		
		System.out.println((s.equals("")?"YES":"NO"));
    }
}

 

 

반응형