문제
상근이는 이진수 곱셈에 어려움을 겪는 여자친구를 위한 프로그램을 만들려고 한다.
상근이의 여자친구는 항상 이진수에 17을 곱한다. 즉, 이진수 N이 입력으로 들어오면 17을 곱한 다음 이진수로 출력하는 프로그램을 작성하시오.
조건 및 입출력
1. 첫째 줄에 이진수 N이 주어진다. N은 최대 1000자리인 이진수이며, 0이 들어오는 경우는 없다.
2. 입력으로 주어진 N을 17배한 다음, 이진수로 출력한다.
코드 (Python 3)
# 입력부
bin_num=input();
# 처리부
dec_num=int(bin_num,base=2);
dec_num*=17;
bin_num=bin(dec_num);
# 출력부
print(bin_num[2:]);
풀이 과정
조심할 점은, 2진수를 받고 10진수 변환한 뒤 *17을 해 주는 것이 아니다.
2진수에서 바로 17을 곱하고 그 후 다시 2진수로 표현을 해 주어야 한다.
| 코드가 이상하거나, 이해되지 않는 부분은 댓글 남겨주세요! + 더 좋은 풀이 방법이 있다면 알려주세요 :) |
'Programming > Python' 카테고리의 다른 글
| [백준] 11656번 : 접미사 배열 (Python / 파이썬) (0) | 2023.06.27 |
|---|---|
| [백준] 10845번 : 큐 (Python / 파이썬) (0) | 2023.06.26 |
| [백준] 5635번 : 생일 (Python / 파이썬) (0) | 2023.03.18 |
| [백준] 2474번 : 피보나치 수 (Python / 파이썬) (0) | 2023.02.13 |
| [백준] 11651번 : 좌표 정렬하기 2 (Python / 파이썬) (0) | 2023.02.12 |