https://www.acmicpc.net/problem/11179
문제해석
진접변환을 구현하여 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진수로 고치면 된다.
'Koala - 11기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python3] 3062번: 수 뒤집기 (0) | 2023.08.13 |
---|---|
[백준/C++] 5533번: 유니크 (0) | 2023.08.11 |
[백준/Python] 2852번: NBA 농구 (0) | 2023.08.06 |
[백준/python3] 1759번 : 암호 만들기 (0) | 2023.08.06 |
[백준/python3] 2852번 : NBA 농구 (0) | 2023.08.06 |