백준

백준 2588 곱셈

하카데미 2022. 2. 8. 08:30

1. 문제

  • 세 자리수 × 세 자리수의 과정을 출력한다.

 

 

2. 출제의도 파악하기

  • 2번째로 입력 받은 수를 백의 자리, 십의 자리, 일의 자리로 구분해서 연산 가능?

 

 

3. 풀이

  • 1. 입력 받은 두 수 중 첫 번째로 입력받은 수를 정수형으로 바꿔준다.
  • 2. 두 번째로 받은 수는 문자열이므로, 인덱스를 활용해 첫 번째 입력 받은 수와 연산한다.
  • 3. 두 수의 곱을 위해 두 번째 숫자를 정수형으로 바꿔준다.
  • 4. 출력 형식은 줄바꿈으로 표현한다.
a = int(input())
b = input()
print(a * int(b[-1]), a * int(b[-2]), a * int(b[0]), a * int(b), sep='\n')

 

 

4. 남의 버전 분석

  • 몫과 나머지 연산을 통해 각 자리 수 계산을 해줌
a = int(input())
b = int(input())

num_100 = a * (b // 100)        # 백의 자리와 계산
num_10 = a * (b % 100 // 10)    # 십의 자리와 계산
num_01 = a * (b % 100 % 10)     # 일의 자리와 계산
result = a * b

print(num_01, num_10, num_100, result, sep='\n')
a = int(input())
b = int(input())

# print에 직접 넣은 경우
print(a * (b % 100 % 10), a * (b % 100 // 10), a * (b // 100), a * b, sep='\n')

 

 

5. 출력 확인

 

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

백준 9498 시험 성적 파이썬  (0) 2022.02.10
백준 1330 두 수 비교하기 파이썬  (0) 2022.02.09
백준 10430 나머지 파이썬  (0) 2022.02.07
백준 10869 사칙연산 파이썬  (0) 2022.02.06
백준 1008 A / B 파이썬  (0) 2022.02.05