728x90
1. 맨처음 주어진 문자열을 기준으로 0을 제거한다.
2. 앞선 작업을 마무리 한 문자열의 길이를 이진변환한다.
3. 이를 반복한다.
a = bin(4)
-> "0b100"
a[2:]
-> "100"
def solution(s):
answer = []
cnt1 = 0 -> 제거 0
cnt2 = 0 -> 회차
while s != '1': -> 문자열이 1이 되면 탈출
length = len(s)
s = s.replace('0','') -> 0을 공백으로 바꿔주는 매서드
cnt1 += length - len(s) -> 0을 얼마만큼 없앴는지 카운트
s = bin(len(s)) -> s의 길이를 2진수로 만들기
s = s[2:] -> s는 0b11111 형태로 바뀌기 때문에 index 2부터 끝까지 s문자열로 변환
cnt2+=1 -> 회차 카운트
answer.append(cnt2)
answer.append(cnt1)
return answer
728x90
'프로그래머스 풀이' 카테고리의 다른 글
프로그래머스 -옹알이 (2)- LV1 (1) | 2023.01.08 |
---|---|
프로그래머스 -햄버거 만들기- LV1 (0) | 2023.01.08 |
프로그래머스 -푸드 파이트 대회- LV1 (0) | 2023.01.08 |
프로그래머스 -과일 장수 - LV1 (0) | 2023.01.08 |
프로그래머스 -문자열 나누기 - LV1 (0) | 2023.01.06 |