-
programmers lv2 - 이진 변환 반복하기BOJ-Algorithm 2022. 11. 14. 17:07
바꿔야 하는 문자열이 1이 될 때까지, 0의 개수를 세서 zero_remove에 더해 주고 round를 1씩 올려준다. 파이썬에는 이진수로 바꿔주는 bin 기능이 있으나 이 기능은 사용하게 되면 변환한 이진수 앞에 '0b'가 자동적으로 붙기 때문에 이 부분을 제거하기 위해 [2:]로 문자열 슬라이싱을 통해 불필요한 문자를 제거해서 순수한 이진수만을 얻을 수 있다.
def solution(s): answer = [] zero_remove = 0 rounds = 0 while True: if s=='1': return [rounds, zero_remove] zero_remove+= s.count('0') rounds+=1 s = bin(s.count("1"))[2:] return answer
'BOJ-Algorithm' 카테고리의 다른 글
백준 1269 - 대칭 차집합 (0) 2023.02.13 백준 14425 - 문자열 집합 (0) 2023.02.13 프로그래머스 lv2 - JadenCase 문자열 만들기 (1) 2022.11.14 프로그래머스 lv2 - 영어 끝말잇기 (0) 2022.11.11 프로그래머스 lv2 - 최솟값 만들기 (0) 2022.11.10