https://www.acmicpc.net/problem/11179
11179번: 2진수 뒤집기
희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은.
www.acmicpc.net
풀이
우선 입력받은 값을 인덱싱을 활용해서 뒤집는다. 이때 그냥 bin() 함수를 쓰면 앞에 '0b'가 붙은 상태로 2진수로 변환된다.
따라서 뒤집은 값을 그대로 다시 10진수로 변환하기 전에 맨 뒤에 있을 'b0'을 제외하고 출력해야 한다.
리스트 인덱싱을 복습할 수 있는 문제였다.
코드
input = __import__('sys').stdin.readline
n = int(input())
bin_num = bin(n) # 2진수 변환
reverse_bin = bin_num[::-1] # 뒤집기
print(int(reverse_bin[:-2], 2)) # 앞의 '0b'를 제거한 값을 다시 10진수로 변환
'Koala - 8기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] 15905번 (0) | 2022.11.06 |
---|---|
[C++] 백준 1935번: 후위 표기식2 (0) | 2022.10.30 |
[백준/Python] 1270. 전쟁 - 땅따먹기 (0) | 2022.10.02 |
[백준/python] 3181번 줄임말 만들기 (0) | 2022.10.02 |
[백준 / python] 1157. 단어 공부 (0) | 2022.10.02 |