문제
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
'Algorithm > 백준' 카테고리의 다른 글
백준 11724번 : 연결 요소의 개수(python) (0) | 2021.12.10 |
---|---|
백준 13023번 : ABCDE (python) (0) | 2021.12.09 |
백준 17087번 : 숨바꼭질 6 (python) (0) | 2021.12.03 |
백준 1676번 : 팩토리얼 0의 개수 (0) | 2021.12.02 |
백준 10872번 : 팩토리얼(python) (0) | 2021.12.02 |