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

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

יוֹסֵף 2023. 8. 6. 23:42

https://www.acmicpc.net/problem/11179

 

11179번: 2진수 뒤집기

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

www.acmicpc.net


문제해석

진접변환을 구현하여 2진법으로 바꾼후 그 수를 뒤집어 표현하는 문제이다.


코드

D = dict()
result = list()
for i in range(36):
    if i < 10:
        D[i] = str(i) 
    else:
        D[i] = chr(55 + i)
N = int(input())
while True:
    if N == 0:
        break
    x = N % 2
    result.append(D[x])
    N //= 2
print(int(str(''.join(result)), 2))

문제풀이

우선 딕셔너를 자료구조를 이용하여 1부터 9 그리고 a 부터 z까지 해당하는 값을 순서대로 key:value로 할당한다. 그리고 입력받은 N을 2진수로 만들어주기 위해 나머지값을 result 리스트에 넣는다. result 의 값을 int() 함수를 이용하여 다시 10진수로 고치면 된다.