본문 바로가기
JAVA

[백준/자바] 1343번 폴리오미노

by 동백05 2022. 2. 22.

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

 

1343번: 폴리오미노

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

www.acmicpc.net

 

package algorithm;
import java.util.Scanner;

public class feb22 {
	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		String word=s.next();
		StringBuilder result=new StringBuilder();
		int count=0;
		for(int i=0;i<word.length();i++) {
			if(word.substring(i,i+1).equals("X")) {
				count++;
			}
			else {
				if(count%2!=0) {
					result=new StringBuilder();
					result.append("-1");
					count=0;
					break;
				}
				while(count>0) {
					if(count>=4) {
						result.append("AAAA");
						count-=4;
					}
					else {
						result.append("BB");
						count-=2;
					}
				}
				result.append(".");
			}
		}
		if(count>0) {
			if(count%2!=0) {
				result=new StringBuilder();
				result.append("-1");
			}else {
				while(count>0) {
					if(count>=4) {
						result.append("AAAA");
						count-=4;
					}
					else {
						result.append("BB");
						count-=2;
					}
				}
			}
			
		}
		System.out.print(result);

	}
}

댓글