Implementation_01_8진수 2진수(1212)

Eugenius1st·2022년 5월 2일
0

Algorithm_Baekjoon

목록 보기
81/158

Implementation_01_8진수 2진수(1212)

문제

8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.

입력

첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.

출력

첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.

풀이

bin 함수 이용

코드

import sys
sys.stdin = open ("input.txt", "rt")
input = sys.stdin.readline

n = int(input(), 8)

print(bin(n)[2:])
#print(n[2:])

배운 것

시간초과

import sys
sys.stdin = open ("input.txt", "rt")
input = sys.stdin.readline
n = int(input())
#8 진수 -> 10진수 -> 2진수
digitNum = 0
stdNum = 0
indices = 0
res = 0
while n != 0:
    digitNum = n%10
    n = n // 10
    stdNum += digitNum * (8**indices)
    indices+=1
# 204 를 1진수로 바꾸기
indices = 0
while stdNum != 0:
    if stdNum % 2 == 0:
        res += 0
        indices += 1
    else:
        res += 10**indices
        indices += 1
    stdNum = stdNum // 2
print(res)```

#bin 함수

bin(number)
전달받은 integer 혹은 long integer 자료형의 값을 이진수(binary) 문자열로 돌려준다.
builtin module에 포함된 function 이다.

코멘트

8진수를 2진수로 바꾸는 내장함수 존재 bin()

내장함수도 존재
print(bin(int(input(), 8)) [2 :])

profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글