일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- OCP
- publishnotreadyaddress
- Grid #CSS
- CI #CD #CI/CD
- function #사용자 정의 함수
- Excel #엑셀
- Python #pakage
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- DB #mariaDB #SQL
- test #비교
- Swap Memory
- jgrp000032 #ocp #
- 네트워크 #NW
- shell #shell script
- 티스토리챌린지
- EFK
- Linux #wc
- lvm #lv #vg #pv
- istio #k8s #kubernetes
- jmap #jstack
- Kafka #카프카
- 오블완
- NameSpace #NS
- bootstrap #css #CSS
- dify
- lenova #레노버 #노트북
- Node #POD #Container
- EKS
- 백준 #10430
- dump #jattach
Archives
- Today
- Total
BEOM_IT
[programmers]python 70129 이진 변환 반복하기 본문
728x90
반응형
# 이진 변환 반복하기
# 0 과 1로 이루어진 어떤 문자열 x 에 대해 이진 변환
# 변환 과정에서 x 가 1이 될때까지 변환 횟수와 사라진 0의 수
# 0을 제거한수를 이진 변환
def solution(s):
delzero=0 # 0 삭제 횟수
cnt=0 # 변환 횟수
# s의 길이가 1이 될때까지 반복
while len(s) !=1:
# s가 1이 아니라면 이진 변환을 시작
if s !="1":
# 0이 s 에 있으면? 0을 제거하고 개수 체크
if "0" in s:
delzero+=s.count("0")
s=s.replace("0","")
# 0을 제외한 길이를 리턴
s=len(s)
# print(s)
# 이진수로 변환 내장 함수 사용
s=bin(s)
s=s.replace("0b","")
cnt+=1
# print(s)
elif "0" not in s:
s=len(s)
# 이진수로 변환 내장 함수 사용
s=bin(s)
s=s.replace("0b","")
cnt+=1
# print(s)
if s=="1":
return [cnt,delzero]
print(solution("110010101001")) # [3,8]
print(solution("01110")) # [3,3]
print(solution("1111111")) # [4,1]
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[programmers]python 12924 숫자의 표현 (0) | 2024.02.16 |
---|---|
[programmers] python 12911 다음 큰 숫자 (0) | 2024.02.16 |
[programmers]python 12909 올바른 괄호 (0) | 2024.02.06 |
[programmers]python 12951 JadenCase (0) | 2024.02.05 |
[programmers]python 12910 나누어 떨어지는 숫자 배열 (0) | 2024.01.25 |