[프로그래머스] 이진 변환 반복하기 (Python)

2021. 3. 18. 19:40·코딩 테스트
728x90

🍒문제

programmers.co.kr/learn/courses/30/lessons/70129

 

코딩테스트 연습 - 이진 변환 반복하기

 

programmers.co.kr

 

🍒풀이

 

1. after  : 0을 제거한 문자열

2. c = len(after)

3. res  : c를 2진법으로 변환한 수

4. s = res 로 갱신

 

위 1~3번 과정 반복 (s="1" 이 될 때 까지)

 

🍒코드

def solution(s):
    answer = []
    cnt = 0
    cnt_zero = 0

    while(True):
        if(s == "1"):
            break
        
        # 0 제거
        after = ''
        for i in s:
            if i == '0':
                cnt_zero += 1
                continue
            else:
                after += i
        #x의 길이 = c
        c = len(after)

        #c를 이진법으로 표현
        res = 0
        idx = 1

        while(c > 0):
            r = c % 2
            res += r * idx
            idx = idx * 10
            c = c//2

        s = str(res)
        #print(s, res)
        cnt += 1
        
        
    answer = [cnt, cnt_zero]
    return answer
728x90

'코딩 테스트' 카테고리의 다른 글

[프로그래머스] 문자열 압축 (Python)  (0) 2021.03.22
[기타] 시간 복잡도 / 예외처리  (0) 2021.03.20
[프로그래머스] 메뉴 리뉴얼 (Python)  (0) 2021.03.18
[프로그래머스] 큰 수 만들기 (Python)  (0) 2021.03.18
[프로그래머스] 조이스틱 (Python)  (0) 2021.03.18
'코딩 테스트' 카테고리의 다른 글
  • [프로그래머스] 문자열 압축 (Python)
  • [기타] 시간 복잡도 / 예외처리
  • [프로그래머스] 메뉴 리뉴얼 (Python)
  • [프로그래머스] 큰 수 만들기 (Python)
zoodi
zoodi
IT/개발 관련 지식을 기록하는 블로그입니다.
  • zoodi
    오늘의 기록
    zoodi
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 후기
        • 컨퍼런스
        • 일상리뷰
      • 금융경제
        • 뉴스
        • 금융IT용어
        • 경제 및 부동산
      • 코딩 테스트
      • 스터디
        • JAVA
        • Kotlin
        • Spring
        • React, Nextjs
        • 인공지능 AI
        • Cloud & k8s
        • Kafka
        • Database
        • Network
        • Algorithm
        • Hadoop
        • LINUX
        • R Programming
        • 기타 (소공, 보안)
      • 도서
      • 기타
  • 블로그 메뉴

    • 홈
    • 스터디
    • 금융경제
    • 후기
    • 기타
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코테공부
    코테
    codility
    Kotlin
    Spring
    이분탐색
    코딩테스트
    Python
    쿠버네티스
    금융용어
    코딩
    kafka
    C++
    스프링부트
    CodingTest
    java
    네트워크
    스프링
    코딜리티
    알고리즘
    pythoncodingtest
    카카오코테
    프로그래머스
    자바
    자료구조
    리트코드
    LeetCode
    springboot
    db
    MySQL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
zoodi
[프로그래머스] 이진 변환 반복하기 (Python)
상단으로

티스토리툴바