[백준/파이썬] 1343번

민정·2023년 2월 28일
0

[백준/파이썬]

목록 보기
107/245
post-thumbnail

백준 1343번

문제

https://www.acmicpc.net/problem/1343

코드

#풀이 1
word = input()
cnt = 0
temp = []
ans = []
flag = True
for i in word:
    if i == 'X':
        cnt += 1
    elif i == '.' :
        temp.append(cnt)
        temp.append('.')
        cnt = 0
temp.append(cnt)

for i in temp:
    if i == '.':
        ans.append('.')
        continue
    while i > 0 :
        if i - 4 >= 0:
            ans.append('AAAA')
            i = i - 4
        elif i - 2 >= 0:
            ans.append('BB')
            i = i - 2
        else:
            if i % 2 == 1:
                flag = False
                print(-1)
                break

if flag:
    for i in ans:
        print(i, end = "")
#풀이2
word = input()

word = word.replace("XXXX","AAAA")
word = word.replace("XX", "BB")

if 'X' in word:
    print(-1)
else:
    print(word)

풀이

풀이 1의 경우 실패뜨는 코드...
어렵게 생각했나보다...힝구리..

풀이2의 경우 replace를 통해 XXXX -> AAAA , XX -> BB로 변경해준다.
만약 word내에 X가 존재한다면 덮지 못한것이므로 -1을 출력합니다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글