https://www.acmicpc.net/problem/1342
1342, 폴리오미노
이번 문제는 String 과 replace 를 사용하면 너무나도 쉽게 풀 수 있다.
# Process
main
: "XXXX" 는 "AAAA"로, "XX"는 "BB" 로 바꿔주되 사전순으로, 전환이 불가능하다면 -1을 출력해주면 된다.
즉, 차례대로 전환해주고 X가 남아있다면 -1 을 출력해준다.
str = str.replaceAll("XXXX", "AAAA");
str = str.replaceAll("XX", "BB");
if(str.contains("X"))
{
System.out.println(-1);
return;
}
System.out.println(str);
이러한 로직으로 전체코드는 아래와 같다.
static FastReader scan = new FastReader();
static StringBuilder sb = new StringBuilder();
static String str;
static void input()
{
str = scan.nextLine();
}
static void pro()
{
str = str.replaceAll("XXXX", "AAAA");
str = str.replaceAll("XX", "BB");
if(str.contains("X"))
{
System.out.println(-1);
return;
}
System.out.println(str);
}
public static void main(String[] args)
{
input();
pro();
}
급하게 조사하고 정리하다보니 부족하거나 틀린 내용이 있을 수도 있는데 댓글로 달아주시면 감사하겠습니다!