1. 문제
입력받은 n을 2진법으로 나타낸 뒤, 2진법을 나타낸 수를 뒤집는다. 그리고 그 수를 다시 10진법으로 변환시켜 출력하는 문제이다.
2. 코드
n=int(input())
arr=bin(n)
#10진수 n을 2진수로 변환 , arr타입은 str
arr=arr[2:]
#0b를 없애주자! 3번째 수부터 출력
arr_reverse=arr[::-1]
#뒤집어주기
num=int(arr_reverse,2)
print(num)
3. 문제풀이
- 우선 2진수와 10진수 표현하는 코드를 알아야겠다 ! (bin)
- 정수 n을 입력받고 n을 이진수 arr로 표현한다.
- 표현한 arr앞부분 0b를 제거해야한다. 이때 문자열 타입을 이용하여 [2:](3번째 이후 문자열만 출력)를 사용해준다.
-[::-1]을 사용하여 뒤집어준다.
- int('2진수 문자열', 2)를 사용하여10진법으로 다시 나타낸다.
'Koala - 7기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] 15821번 낚이고 낚아라 (1) | 2022.08.07 |
---|---|
[백준/python] 2999번 비밀 이메일 (1) | 2022.08.07 |
[백준/C++] 1018 체스판 다시 칠하기 (1) | 2022.08.07 |
[백준/Python] 2729 이진수 덧셈 (1) | 2022.08.07 |
[백준/Python] 14915번 회문 (2) | 2022.08.03 |