반응형

문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

출력

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

 

========================================

내 풀이

a = int(input())
b = int(input())

c = a*((b%100)%10)
d = a* int((((b%100)-((b%100)%10)))/10)
e = a * int(b/100)
f = c+ 10*d + 100*e

print(c)
print(d)
print(e)
print(f)

하지만 이렇게 삽질할 필요가 없었다. 

 

필요지식: //연산자

// 나누기 연산 후 소수점 이하의 수를 버리고, 정수 부분의 수만 구함

더 깔끔한 풀이:

A = int(input()) 
B = int(input()) 
out1 = A*((B%100)%10) 
out2 = A*((B%100)//10) 
out3 = A*(B//100) 
result = A*B print(out1, out2, out3, result, sep='\n')

참고: https://choseongho93.tistory.com/281

 

'CodingTest > 백준' 카테고리의 다른 글

[ 백준/Python] 10952번 문제 A+B - 5  (0) 2021.10.16
[백준/Python] 10871 문제  (0) 2021.10.16
[백준/python] 2438번 문제  (0) 2021.10.16
[백준/python] 2741번 문제  (0) 2021.10.16
[백준/Python] 1000번 문제  (0) 2021.10.15

+ Recent posts