-
https://school.programmers.co.kr/learn/courses/30/lessons/70129
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✔ 문제 설명
0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다.- x의 모든 0을 제거합니다.
- x의 길이를 c라고하면,x를 "c를 2진법으로 표현한 문자열"로 바꿉니다.
- s가 "1"이 될때까지
- s의 "0"갯수를 세서 더해준다.
- s의 "1"갯수를 세서 2진법으로 바꿔준다.
- 계속 반복한다.
12345678910111213141516def solution(s):answer = []zerocnt = 0onecnt = 0cnt = 0while s != '1':zerocnt += s.count("0")onecnt = s.count("1")cnt += 1s = bin(onecnt)[2:]answer.append(cnt)answer.append(zerocnt)return answercs
▪ s = bin(onecnt)[2:] 를 하는 이유 bin사용시 2진법임을 알려주는 "0b"가 함께 출력되기때문
bin(60) #2진법 oct(60) #8진법 hex(60) #16진법 0b111100 0o74 0x3c
'CT > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Lv. 2][Python] 다음 큰 숫자 (0) 2023.06.19 [프로그래머스][Lv. 2][Python] 숫자의 표현 (0) 2023.06.18 [프로그래머스][Lv. 2][Python] 최솟값 만들기 (0) 2023.06.18 [프로그래머스][Lv. 2][Python] 올바른 괄호 (1) 2023.06.17 [프로그래머스][Lv. 2][Python] JadenCase 문자열 만들기 (1) 2023.06.17 댓글