1373번 2진수 8진수 파이썬

강지훈·2022년 5월 11일

문제
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:])

profile
never stop

0개의 댓글