알고리즘/백준
[파이썬, 자바] BOJ_1343(폴리오미노)
딱따구르리
2021. 2. 19. 17:40
728x90
반응형
문제
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
반응형