본문 바로가기
카테고리 없음

백준 2588 파이썬

by abccoco 2022. 9. 13.

문제

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

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

 

 

입력

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

출력

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


 

문제가 처음에는 어렵게 느껴졌었지만 풀이를 해보면 생각보다 정말 간단한 문제였다.

정답 코드

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

print(a * int(b[2]))
print(a * int(b[1]))
print(a * int(b[0]))
print(a * int(b))

 

풀이

처음에 문제 조건이 2가지의 입력값을 받아야 하기 때문에 2가지의 input() 을 받도록 했다.

그런데 하나는 input 값이 int이고 하나는 str인데 이유는?

 

변수 a는 곱하기를 하기 위해서는 str이 아닌 int를 받아야 하니 input() 값을 int()를 사용해 정수로 바꾸어 준다.

변수 b를 정수로 바꾸지 않는 이유는 정수는 0번째 1번째가 없기 때문이다 index는 str만 가능하다.

b의 숫자는 index 값을 가져온 다음에 그 숫자를 int() 를 사용해 정수로 바꾸어 주자.

# 곱하기를 하기 위해서는 str이 아닌 int를 받아야 하니 input() 값을 int()를 사용해 정수로 바꾸어 준다.
a = int(input())
# b를 정수로 바꾸지 않는 이유는 정수는 0번째 1번째가 없기 때문 index는 str만 가능하다.
b = input()

 

예제와 같이 출력하기 위해서는 427 * 5, 427 * 8, 427 * 3을 해 주어야 한다 각각의 값을 print 해준다.

# 예제 출력을 위해 해당 인덱스의 숫자를 a와 곱해준다.
print(a * int(b[2]))
print(a * int(b[1]))
print(a * int(b[0]))

 

마지막으로 a*b를 해준다.

# a 와 b 를 곱한 값을 출력한다.
print(a * int(b))

댓글