타노스 실버 3 (백준, 문자열)

2023. 1. 27. 16:33코딩 테스트 준비

728x90
반응형
def solution() :
    n = list(input())
    zero = n.count('0') // 2
    one = n.count('1') // 2
    
    for _ in range(zero) :
        n.pop(-(n[::-1].index('0'))-1)
    
    for _ in range(one) :
        n.pop(n.index('1'))
    
    print(''.join(n))
    
solution()

 

그냥 값을 삭제한 후 sort하거나 지정된 수 만큼 값을 배열에 넣는 방식은 25점을 받는다.

 

리스트로 받은 값에서 0은 뒤에서부터 1은 앞에서부터 삭제해줘야 하는데 뒤에서 삭제하는 테크닉을 배울 수 있었다. 

 

 n.pop(-(n[::-1].index('0'))-1)

 

유용하게 쓸 수 있을 거 같다.

 

기억하자.

728x90
반응형