5185. 이진수
문제)
16진수 1자리는 2진수 4자리로 표시된다.
N자리 16진수가 주어지면 각 자리 수를 4자리 2진수로 표시하는 프로그램을 만드시오.
단, 2진수의 앞자리 0도 반드시 출력한다.
예를 들어 47FE라는 16진수를 2진수로 표시하면 다음과 같다.
0100011111111110
[입력]
첫 줄에 테스트케이스의 수 T가 주어진다. 1<=T<=50
다음 줄부터 테스트 케이스의 별로 자리 수 N과 N자리 16진수가 주어진다. 1<=N<=100
16진수 A부터 F는 대문자로 표시된다.
[출력]
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# 1번 풀이 / 내장함수 이용
T = int(input())
for _ in range(T):
n, m = map(str, input().split())
answer = ""
for i in m:
o = "0x" + i
temp = bin(int(o, 16))
answer += temp[2:].zfill(4)
print(f"#{_ + 1} {answer}")
# 2번 풀이 / 배열표 이용
hexa = {
"0" : "0000",
"1" : "0001",
"2" : "0010",
"3" : "0011",
"4" : "0100",
"5" : "0101",
"6" : "0110",
"7" : "0111",
"8" : "1000",
"9" : "1001",
"A" : "1010",
"B" : "1011",
"C" : "1100",
"D" : "1101",
"E" : "1110",
"F" : "1111"
}
T = int(input())
for _ in range(T):
n, m = map(str, input().split())
answer = ""
for i in m:
answer += hexa[i]
print(f"#{_ + 1} {answer}")
|
cs |
문제 출처 : https://swexpertacademy.com/main/main.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.
학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.
'Develop > Python + SWEA' 카테고리의 다른 글
[SW Expert Academy] 10726. 이진수 표현 (0) | 2022.03.25 |
---|---|
[SW Expert Academy] 5186. 이진수2 (0) | 2022.03.24 |
[SW Expert Academy] 1240. 단순 2진 암호코드 (0) | 2022.03.23 |
[SW Expert Academy] 2105. 디저트 카페 (0) | 2022.03.22 |
[SW Expert Academy] 1952. 수영장 (0) | 2022.03.22 |