프로그래밍 이야기/파이썬 코딩 테스트 스터디

파이썬 코딩테스트 스터디 3주차 #3 - 10진수를 2진수로 변환하기

hoony926 2024. 7. 7. 10:18

문제

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