https://programmers.co.kr/learn/courses/30/lessons/77886
문제의 핵심은 111보다 110이 앞에 와야 함.
def solution(s):
answer = []
for string in s:
stack = []
counting = 0
for st in string:
if(len(stack) >= 2 and stack[-1] == '1' and stack[-2] =='1' and st =='0'):
counting+=1
stack.pop()
stack.pop()
else:
stack.append(st)
count_1 = 0
for st in stack[::-1]:
if st == '0':
break
else:
count_1 += 1
answer.append(''.join(stack[:len(stack)-count_1])+(counting)*'110'+count_1*'1')
return answer
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 블록 게임(Python) (0) | 2022.02.10 |
---|---|
[프로그래머스] 카드 짝 맞추기(Python) (0) | 2022.02.08 |
[프로그래머스] [3차] 자동완성(Python) (0) | 2022.02.07 |
[프로그래머스] 호텔 방 배정(Python) (0) | 2022.02.05 |
[프로그래머스] 미로 탈출(Python) (0) | 2022.02.04 |
댓글