-
[BOJ 1343, Python 3] 폴리오미노알고리즘/BOJ 2021. 7. 28. 00:04반응형
https://www.acmicpc.net/problem/1343
풀이
사전순으로 가장 앞서는 답은 A가 먼저 나와야한다는 것이다.
그래서 연속된 X의 수가 4개씩 나올 때마다 바로바로 저 4칸을 A로 바꾸어 주고, '.'이 나왔거나 마지막 문자까지 다 확인했는데 연속된 X의 수가 2개이면 2칸을 BB로 바꾸면 된다.
만약 연속된 X의 수가 홀수개인데 '.'이 나온다면 바로 -1을 출력하고 종료해주면 된다.
코드
1234567891011arr = [*input()]ans = ['.'] * len(arr)val = 0for i in range(len(arr)):if arr[i] == 'X': val += 1if arr[i] == '.' and val % 2: print(-1); exit()if arr[i] == '.' and val == 2: ans[i-2:i] = ['B']*2; val = 0if val == 4: ans[i-3:i+1] = ['A']*4; val = 0if val == 2: ans[-2:] = ['B']*2print([''.join(ans), -1][val % 2])cs 반응형'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 1789, Python 3] 수들의 합 (0) 2021.07.28 [BOJ 1439, Python 3] 뒤집기 (0) 2021.07.28 [BOJ 2828, C++] 사과 담기 게임 (0) 2021.07.27 [BOJ 18238, Python 3] ZOAC 2 (0) 2021.07.27 [BOJ 14659, C++] 한조서열정리하고옴ㅋㅋ (0) 2021.07.26