[백준 10829 파이썬] 이진수 변환

일단 해볼게·2022년 10월 25일
0

백준

목록 보기
32/132

https://www.acmicpc.net/problem/10829

# 이진수 변환

N = int(input())
result = ''

while True:
    if N // 2 >= 1: # 몫이 1보다 클 때
        result += str(N % 2)
        N = N // 2
    elif N == 2: # 몫이 2일 때
        result += str(N % 2) + str(N // 2) # 2로 나눈 나머지 + 몫 더하기
        break
    elif N == 1: # 몫이 1일 때
        result += str(N % 2) # 2로 나눈 나머지 더하기
        break

result = result[::-1] # 문자열 뒤집기

print(result)

다른 풀이 - 파이썬 내장함수

# 다른풀이 : 파이썬 2진수 함수
print(bin(int(input()))[2:]) # 앞에 0b가 붙기 때문에 제거해야함

나머지를 저장하다가 마지막에 나머지 + 몫을 더한 후 뒤집어주면 2진수이다.
신기하게도 내 풀이가 시간이 더 적게 들었다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글