6081 [기초-종합] 16진수 구구단 출력하기
Codeup이란?
코드업은 국내의 한 정보 교사가 알고리즘 교육을 목적으로 운영하는 사이트입니다.
난이도가 낮고 문제가 많아 처음 코딩 테스트를 입문하려는 사람들에게 좋습니다.
문제가 쉽다고 무시하지 말고 코딩테스트는 어떤 형태로 나오는지, 문법은 무엇인지 연습하기 좋으며 쉬운 문제를 풀어가면서 문제풀이에대한 자신감을 키우기 좋기 때문에 입문자는 코드업 사이트의 [홈] - [기초100제] - [Python 기초100제]
를 꼭 풀어보도록 합시다.
문제
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)을 의미한다.
입력
16진수로 한 자리 수가 입력된다.
단, A ~ F 까지만 입력된다.
예시
B
출력
입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력한다.
계산 결과도 16진수로 출력해야 한다.
예시
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
내 답안
Click to expand!!
n = int(input(), 16)
a = int('F', 16)
for i in range(1, 16):
print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')
Disqus