[CodeUp 기초 100제] 6081번 풀이 with 파이썬(python)

문제

종합

16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운
영일이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다.

A, B, C, D, E, F 중 하나가 입력될 때,
1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자.
(단, A ~ F 까지만 입력된다.)

예시

print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')

참고

print('%X'%n) #n에 저장되어있는 값을 16진수(hexadecimal) 형태로 출력
작은 따옴표 2개를 사용해서 print(..., sep='') 으로 출력하면, 공백없이 모두 붙여 출력된다.
작은 따옴표 2개 '' 또는 큰 따옴표 2개 "" 는 아무 문자도 없는 빈문자열(empty string)을 의미한다.

입력 예시

B

출력 예시

B*1=B
B*2=16
B*3=21
B*4=2C
B*5=37
B*6=42
B*7=4D
B*8=58
B*9=63
B*A=6E
B*B=79
B*C=84
B*D=8F
B*E=9A
B*F=A5

답안

모델 답안

n = int(input(), 16)

for i in range(1, 16):
	print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')

내 답안

hex = int(input(), 16)

for n in range(1, 16):
    result = hex * n
    print('%X'%hex, '*', '%X'%n, '=', '%X'%result, sep="")

풀이

내 풀이

input(): 프롬프트를 띄워서 사용자의 입력 받을 수 있게 해준다.
(단, 입력 받은 것은 문자열로 저장된다. print(type()))으로 type() 괄호 안에 변수를 넣고 찍으면 정수인지, 문자열인지, 무슨 타입인지 확일 할 수 있다!)

int(n): 위의 input()에서 말했듯이 input으로 받은 값은 문자열로 저장된다.
산술을 하기 위해, 문자열을 정수로 변환시켜주는 int()를 써서 변환시켜준다.

int(n, 16): int(n)에서 콤마(,)하고 16을 쓰면 10진수가 아닌 16진수로 인식된다.

'%X'%n: '%X'%쓰고 n자리에 16진수가 담겨있는 변수를 쓰면 10진수 표현에서 16진수로 표현으로 변형된다.

for문: 반복을 데이터가 남을 때까지 밑에 내용 계속 반복 실행!
for i in 데이터:
(들여쓰기칸) 실행문

ex)

for i in [1, 2 ,3]:
    print(i)
출력: 1
     2
     3

데이터에는 iterable이 들어갈 수 있다.

range(): 괄호 안에 들어가는 숫자만큼의 수열을 표현해준다.
range(3) -> 0, 1, 2 (0부터 3직전까지 표현)
range(1, 3) -> 1, 2 (1부터 시작해서 3직전까지 표현)
range(1, 3, +2) -> 1 (1부터 시작해서 2씩 늘려가서 3직전까지 표현. (1 + 2는 3이므로 3직전까지 표현))

print(): 괄호 안의 내용을 출력!

sep="": print() 내용들의 콤마(,)자리에 공백이 생기는데 그곳을 쌍따옴표("")의 내용으로 채워준다.
입력: print(a, b, c)
출력: a b c

입력: print(a, b, c, sep="-")
출력: a-b-c

좋은 웹페이지 즐겨찾기