DevKim

[Python] 백준 #1373 2진수 8진수 본문

알고리즘 PS

[Python] 백준 #1373 2진수 8진수

on_doing 2021. 1. 14. 20:02
728x90

www.acmicpc.net/problem/1373

 

1373번: 2진수 8진수

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

www.acmicpc.net

요즘 시간초과 때문에 애먹고있다 ㅠㅠ

밑에 코드는 처음 시간초과 난 코드

#시간초과

a=input()
k=0
n_10=0
for i in range(len(a)-1,-1,-1):
    n_10+=int(a[k])*(2**i)
    k+=1

result=[]

while n_10 >= 8:
    result.append(n_10%8)
    n_10=n_10//8
    
result.append(n_10)

result=list(reversed(result))

print(''.join(map(str,result)))
        

밑에 코드로 수정해서 통과했다.!

#맞음
a=input()
List=list(reversed(a))

n=len(List)//3 #3개씩 반복 횟수
m=len(List)%3 #남은 것들
k=0
result=[]

for j in range(n):
    cnt=0
    for i in range(3):
        cnt+=int(List[k])*(2**i)
        k+=1
    result.append(cnt)

cnt=0
for j in range(m):
    cnt+=int(List[k])*(2**j)
    k+=1
    
result.append(cnt)
        
        
result=list(reversed(result))
print(int(''.join(map(str,result))))
728x90

'알고리즘 PS' 카테고리의 다른 글

[Python] 백준 #1929 소수 구하기  (0) 2021.01.14
[Python] 백준 #2089 -2진수  (0) 2021.01.14
[Python] 백준 #1158 요세푸스 문제  (0) 2021.01.14
[Python] 백준 #1406 에디터  (0) 2021.01.14
[Python] 백준 #11655 ROT13  (0) 2021.01.14
Comments