알고리즘/[python] 백준 BOJ

[python] 백준 20310 타노스

Alan_Kim 2023. 12. 23. 18:26
728x90
반응형

 

문제 해결

Counter 함수를 통해 각각 몇 개씩 있는지 쉽게 알 수 있다.

문자열 처음부터 보면서 '0'은 Counter의 절반이 될 때 까지 만나면 정답 문자열에 넣는다.

문자열 처음부터 보면서 '1'은 Counter의 절반이 될 때 까지 만나면 패스한다.

문자열 처음부터 보면서 '1'은 Counter의 절반이 넘어가고 나서 만나면 정답 문자열에 넣는다.

 

CODE

import sys
import math
from collections import Counter
input = sys.stdin.readline

n = list(str(input()).strip())
X = Counter(n)
a = X['0']//2
b = X['1']//2

answer = ''
for i in range(len(n)):
    if n[i] == '0' and X['0'] > a:
        answer = answer + '0'
        X['0'] -= 1
    elif n[i] == '1' and X['1'] > b:
        X['1'] -= 1
    elif n[i] == '1' and X['1'] <=b:
        answer = answer + '1'
print(answer)
728x90
반응형