알고리즘/백준

[파이썬, 자바] BOJ_1343(폴리오미노)

딱따구르리 2021. 2. 19. 17:40
728x90
반응형

문제

 

www.acmicpc.net/problem/1343

 

1343번: 폴리오미노

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

www.acmicpc.net


 

해설

 

XXXX는 AAAA로 XX는 BB로 변경하는 문제이니

문자를 교체해주는 replace() 함수를 사용하면 된다.

 

교체를 해준 후에도 X가 남아있다면 -1이 답이 되는 것이고,

남아있지 않다면 그대로 바꾼 문자를 출력해주면 된다.


코드

 

-파이썬

#백준 1343(폴리오미노)

board = input()  #보드판

board = board.replace('XXXX', 'AAAA')
board = board.replace('XX', 'BB')

if board.count('X') != 0:
    print(-1)
else:
    print(board)

 

-자바

//백준 1343(폴리오미노)
import java.util.*;
import java.io.*;

public class Boj_1343 {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String board = br.readLine();  //문자열

		board = board.replaceAll("XXXX", "AAAA");
		board = board.replaceAll("XX", "BB");
		
		if(board.contains("X")) {
			System.out.println(-1);
		}
		else {
			System.out.println(board);
		}
	}

}
728x90
반응형