Koala - 7기/기초 알고리즘 스터디

[백준/Python] 11179 2진수 뒤집기

쥬발이 2022. 8. 7. 23:03

1. 문제

 

11179번: 2진수 뒤집기

희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은.

www.acmicpc.net

입력받은 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진법으로 다시 나타낸다.