[백준/Python] 20310 타노스

DEV Dong's Log·2024년 1월 6일
0

Algorithm

목록 보기
18/37
post-thumbnail

20310번 타노스

📌Problem

어느 날, 타노스는 0과 1로 이루어진 문자열 SS를 보았다. 신기하게도, SS가 포함하는 0의 개수와 SS가 포함하는 1의 개수는 모두 짝수라고 한다.

갑자기 심술이 난 타노스는 SS를 구성하는 문자 중 절반의 0과 절반의 1을 제거하여 새로운 문자열 SS'를 만들고자 한다. SS'로 가능한 문자열 중 사전순으로 가장 빠른 것을 구하시오.

입력

문자열 SS가 주어진다.

출력

SS'로 가능한 문자열 중 사전순으로 가장 빠른 것을 출력한다.

✍solution

  1. 주어진 문자열에서 0과 1의 갯수를 가져와 절반을 나누어 지워야할 갯수를 정한다.
  2. 문자열의 시작부터 1을 절반 갯수 제외하고 0은 뒤에서 부터 절반 갯수를 제외한다.

💻Code

num = input()
cnt_0 = num.count('0')/2
cnt_1 = num.count('1')/2
new_num=''
for i in range(len(num)):
    if num[i]=='1' and cnt_1 == 0:
        new_num+='1'
    elif num[i]=='1' and cnt_1 !=0:
        cnt_1-=1
    if num[i]=='0' and cnt_0 != 0:
        cnt_0-=1
        new_num+='0'
print(new_num)
profile
다양한 분야를 학습하는 프론트엔드 개발자

0개의 댓글