Algorithm/백준

백준 1373번 : 2진수 8진수 (python)

study ticket 2021. 12. 3. 01:07

문제

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

입력

첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.

출력

첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.

예제 입력 1 복사

11001100

예제 출력 1 복사

314

코드

if __name__ == "__main__":
    num=list(input())
    chk=0
    sum=0
    eight=[]
    n=True
    for i in range(len(num)-1,-1,-1):
        if(num[i]=='1'):
            sum+=2**chk
            chk+=1
            n=True
        else:
            chk+=1
            n=True
        if(chk==3):
            eight.append(sum)
            sum=0
            chk=0
            n=False
    if(n==True):
        eight.append(sum)
    for i in range(len(eight)-1,-1,-1):
        print(eight[i],end='')

느낀점

728x90