본문 바로가기
알고리즘/[python] 백준 BOJ

[python] 백준 20310 타노스

by Alan_Kim 2023. 12. 23.
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
반응형

'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글

[python] 백준 1939 중량제한  (1) 2024.01.29
[python] 백준 1138 한 줄로 서기  (1) 2024.01.11
[python] 백준 2638 치즈  (0) 2023.12.21
[python] 백준 13904 과제  (0) 2023.12.14
[python] 백준 10835 카드게임  (0) 2023.12.13

댓글