티스토리 뷰

 

이번 포스팅은 백준 알고리즘 사이트의 2588번 곱셈 문제를 Python 언어로 코딩해보도록 하겠습니다. 아래 url로 접속하시면 문제를 볼 수 있습니다.

 

https://www.acmicpc.net/problem/2588

 

이번 포스팅은 입출력과 사칙연산 단계의 문제입니다.

 

 

이 문제는 세 자리인 두 수를 입력 받아 두 수의 곱셈 과정을 출력하는 문제입니다.

 

문제 설명에도 나와있듯이 세 자리 수를 곱할 때는 3번의 곱셈을 하기 때문에 두 번째로 입력받은 수를 각 자리마다 잘라서 첫 번째 수와 연산하는 과정을 보여야 합니다.

 

1
2
3
4
5
6
7
8
9
inp1 = int(input())
inp2 = int(input())
 
out1 = inp1*((inp2%100)%10)
out2 = inp1*((inp2%100)//10)
out3 = inp1*(inp2//100)
res = inp1*inp2
 
print(out1, out2, out3, res, sep='\n')

 

두 개의 세 자리 수를 int(input())을 이용해 int형 변수로 입력 받습니다. 

 

out1은 inp1과 inp2의 1의 자리를 곱한 결과를 보여야 하기 때문에 inp2의 1의 자리를 만들 수 있도록 (inp*((inp2%100)%10))으로 계산하여 줍니다. 각 자리 수를 구하여 inp1과 곱한 값을 각 out 변수에 저장해주고, 최종적으로 두 세 자리 수를 곱한 값을 res에 담아줍니다. (Python의 경우 int형 몫을 구하는 연산을 //로 하기 때문에 out2와 out3의 각 자리 수를 구할 때 // 연산을 사용하였습니다.)

 

모든 결과를 print를 통해 출력하여 주는데, 출력 형식대로 각 연산 결과를 한줄씩 출력해주기 위해 출력할 변수를 나열하고 각 출력 사이에 개행을 하기 위한 sep="\n"를 추가합니다.

 

다음 포스팅에서는 다음 문제를 풀어보도록 하겠습니다.

 

 

다음 포스팅에서 봐요 :))

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함