문제
2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.
출력
첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.
-내가 짠 코드-
def js(x):
hap=0
idx=0
while (x!=0):
if x%10==0:
hap=hap+(hap*0)
idx+=1
x//=10
else:
hap=hap+(pow(2,idx))
idx+=1
x//=10
return hap
n=int(input())
a=(js(n))
a=(oct(a))
print(a[2:])
이렇게 짯는데 답은 제대로 나오는데
시간초과가 나서 구글링해봤는데
이렇게 한줄코드가 있어서 머리가 띵했다..
유투브에서 시간복잡도 공간복잡도 한번 들어야겠다.
print(oct(int(input(),2))[2:])