알고리즘 연습/기초 (입출력 등)

[🥉4 / 백준 5893 / 파이썬] 17배

김세진 2021. 7. 17. 20:57
반응형

 

 

5893번: 17배

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

www.acmicpc.net

문제

상근이는 이진수 곱셈에 어려움을 겪는 여자친구를 위한 프로그램을 만들려고 한다.

상근이의 여자친구는 항상 이진수에 17을 곱한다. 즉, 이진수 N이 입력으로 들어오면 17을 곱한 다음 이진수로 출력하는 프로그램을 작성하시오.

입력

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

출력

입력으로 주어진 N을 17배한 다음, 이진수로 출력한다.

 

예제 입력 

10110111

예제 출력 

110000100111

 

풀이

 

이진수와 십진수의 변환을 활용한 문제이다.

 

입력받은 수를 십진수로 변환한 뒤, 17을 곱하고 다시 이진수로 변환하여 출력해야 한다.

 

입력받은 숫자가 이진수이고 n이라고 할때, int(n, 2) 로 손쉽게 이진수를 십진수로 변환할 수 있다.

 

그리고 17을 곱한 뒤 bin 함수를 통해 2진수인 문자열로 변환할 수 있다.

 

다만, 맨 앞에 이진수임을 알리는 0b가 같이 출력되므로 끝에 [2:]를 붙여 인덱스 조절을 하여 생략해주자.

 

n = int(input(),2)
print(bin(n*17)[2:])
반응형