문제 링크: https://www.acmicpc.net/problem/1343

 

1343번: 폴리오미노

첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.

www.acmicpc.net

'.'을 기준으로 X의 문자 개수 % 2 == 0을 만족한다면 4와2의 몫을 이용하여 A와B로 치환해주고, 만족하지 않는다면 -1을 출력해주는 간단한 문제이다.

 

 

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;


public class Main {
    static StringBuilder sb = new StringBuilder();

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    public static void main(String args[]) throws IOException {
        String s1 = br.readLine();
        int tempCount=0;
        for(int i=0; i<s1.length(); i++){
            if(s1.charAt(i)!='.'){
                tempCount++;
                if(i==s1.length()-1){
                    if(!canSolve(tempCount)){
                        System.out.println(-1);
                        return;
                    }
                    solve(tempCount);
                }
            }
            else{
                if(!canSolve(tempCount)){
                    System.out.println(-1);
                    return;
                }
                solve(tempCount);
                tempCount=0;
                sb.append(".");
            }
        }
        System.out.println(sb.toString());
    }

    public static void solve(int count){
        if(count%4==0){
            for(int j=0; j<count/4; j++){
                sb.append("AAAA");
            }
        }
        else{
            int ASize = count/4;

            for(int j=0; j<ASize; j++){
                sb.append("AAAA");
            }
            int BSize = (count-ASize*4)/2;

            for(int j=0; j<BSize; j++){
                sb.append("BB");
            }
        }
    }

    public static boolean canSolve(int count){
        if(count%2==0){
            return true;
        }
        else{
            return false;
        }
    }
}

  

 

'Alogorithm' 카테고리의 다른 글

백준 2015 [자바] java 수들의 합4  (0) 2022.01.20
백준 JAVA 9613 GCD 합  (0) 2021.12.31
백준 JAVA 2407번 조합  (0) 2021.12.30
백준 JAVA 9342번 염색체  (0) 2021.12.21
백준 JAVA 9655번 돌게임  (0) 2021.12.07