[백준] 1343번 : 폴로노미오 (Python)
2023. 3. 11. 22:43ㆍ알고리즘/그리디
https://www.acmicpc.net/problem/1343
1343번: 폴리오미노
첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.
www.acmicpc.net
문제 유형
- 구현
- 그리디 알고리즘

내 코드
board = input()
board+='.'
result= ''
cnt=0
temp=0 # 홀수 존재 유무를 판별하기 위한 변수
for i in board:
if i == 'X':
cnt += 1
if cnt == 4:
result+= 'AAAA'
cnt =0
else :
if cnt == 2:
result +='BB'
elif cnt % 2 == 1: # 홀수면 만들 수 없으므로 -1 출력
print('-1')
temp=1
break
result+='.'
cnt =0
if temp!=1: # 홀수가 존재 하지 않으면 결과값 출력
print(result[:-1])
다른 코드
board = input()
board = board.replace("XXXX", "AAAA")
board = board.replace("XX", "BB")
if 'X' in board:
print(-1)
else:
print(board)
배운 것
replace("예전값", "바꿀값")
'알고리즘 > 그리디' 카테고리의 다른 글
[백준] 13305번 : 주유소 (Python) (0) | 2023.03.15 |
---|---|
[백준] 2217번 : 로프 (Python) (0) | 2023.03.13 |
[백준] 11399번 : ATM (Python) (0) | 2023.03.13 |
[백준] 11047번 : 동전 0 (Python) (0) | 2023.03.12 |
[백준] 5585번 : 거스름돈 (Python) (0) | 2023.03.11 |