새소식

Algorithm/BOJ

(JAVA) [BOJ]백준 1342번, 폴리오미노

  • -
728x90

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

 

1342번: 행운의 문자열

민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작

www.acmicpc.net

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();
}

 

 

 

급하게 조사하고 정리하다보니 부족하거나 틀린 내용이 있을 수도 있는데 댓글로 달아주시면 감사하겠습니다!

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.