진취적 삶
2진수 8진수 본문
문제
2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.
출력
첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.
- 10진수를 2진수로 변환:
bin()
0b - 10진수를 8진수로 변환:
oct()
0o - 10진수를 16진수로 변환:
hex()
0xa
나의풀이1
n = list(input())
sum = 0
i = 0
while n:
sum = sum + (int(n.pop()) * (2**i))
i += 1
result = oct(sum).replace("0o", "")
print(result)
스택 사용은 시간초과
나의 풀이 2
n = input()
n = "0b" + n
n = int(n, 2)
n = oct(n)
print(n.replace("0o", ""))
입력받은 문자열을 2진수로 바꾸기 위해서 Ob 를 붙여주고
10진수로 바꾸기 위해서 int(n,2)
2진수를 8진수로 바꾸기 위해서 oct(n)