728x90
반응형
https://www.acmicpc.net/problem/1343
1343번: 폴리오미노
첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.
www.acmicpc.net
문제 해결
- X가 연속 4번 나올 수 있으면 'AAAA'로 교체한다.
- X가 연속 2번 나오고 '.'이 나오거나 끝나게 되면 'BB'로 교체한다.
- X가 연속으로 홀수번 나오면 교체 불가능으로 -1 출력
CODE
import sys
input = sys.stdin.readline
board = list(input().rstrip())
ans = []
cnt = 0
for i in range(len(board)):
if board[i] == 'X':
cnt += 1
if cnt == 4:
for _ in range(4):
ans.append('A')
cnt = 0
else:
if cnt%2==0:
for _ in range(cnt):
ans.append('B')
cnt = 0
ans.append('.')
else: break
if cnt%2==0:
for _ in range(cnt):
ans.append('B')
print(''.join(ans))
else:
print(-1)
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 1700 멀티탭 스케줄링 (0) | 2023.03.14 |
---|---|
[python] 백준 1783 병든 나이트 (0) | 2023.03.14 |
[python] 백준 2011 암호코드 (0) | 2023.03.14 |
[python] 백준 14442 벽 부수고 이동하기 2 (1) | 2023.03.14 |
[python] 백준 1213 팰린드롬 만들기 (0) | 2023.03.13 |
댓글