문제
10진수를 입력받아 2진수로 변환해 반환하는 solution()함수 구현하기
문제 분석하고 풀기
1. 10진수 N을 2로 나눈 나머지, 즉 , %2 연산 값을 저장. N = N//2
2. 몫이 0이 아니라면 나머지를 버리고 다시 1번 수행
3. 모든 과정이 끝나고 1에서 저장한 수를 뒤부터 순서대로 가져와 붙이기
소스 코드 구현
def solution(decimal):
stack = []
while decimal > 0 :
remainder = decimal % 2 #2로 나눈 나머지를 stack에 저장
stack.append(str(remainder)) #나중에 이어붙일수 있도록 str형태로 저장
decimal = decimal //2 #2로 나눈 몫부터 다시 시작
binary ="" #2진수 저장을 위한 변수 선언
while stack: #stack이 빌때까지
binary+= stack.pop() #뒤에서부터
return binary
'프로그래밍 이야기 > 파이썬 코딩 테스트 스터디' 카테고리의 다른 글
파이썬 코딩테스트 스터디 3주차 #5 - 주식 가격 (0) | 2024.07.08 |
---|---|
파이썬 코딩테스트 스터디 3주차 #4 - 짝지어 제거하기 (0) | 2024.07.07 |
파이썬 코딩테스트 스터디 3주차 #1 - 스택 개념 / 정의 (0) | 2024.07.06 |
파이썬 코딩테스트 스터디 2주차 #7 - 문제 06 실패율 (0) | 2024.07.03 |
파이썬 코딩테스트 스터디 2주차 #6 - 문제 05 행렬의 곱 (0) | 2024.06.24 |