BOJ/Python

백준 5893번 17배 파이썬

띵지니어 2021. 7. 24. 00:05

https://www.acmicpc.net/problem/5893

 

5893번: 17배

첫째 줄에 이진수 N이 주어진다. N은 최대 1000자리인 이진수이며, 0이 들어오는 경우는 없다.

www.acmicpc.net

 

입력한 2진수를 10진수로 고친후 17을 곱해 다시 2진수로 변환하는 내장함수를 이용해 코딩을 했다.

x = input()
z = x[::-1]
number = 0
for i in range(len(z)):
    if z[i] == '1':
        number += (2**i)
        
number *= 17
x = input()
z = x[::-1]
number = 0
for i in range(len(z)):
    if z[i] == '1':
        number += (2**i)
        
number *= 17
print(bin(number).lstrip("0b"))

스스로 좀 어렵게 짰다고 느꼈는데 다른 사람의 코드를 보니 짬밥이 중요하다는 걸 확실히 느꼈다..

 

print(bin(17*int(input(),2))[2:])

이게 잘하는 사람의 코드인데,

나는 15줄의 코딩을 했는데 저걸 1줄로 표현할 수 있다는 걸 보고 놀라웠다..