Step by Security Study

[백준 2588번] 곱셈 - 파이썬 본문

문제 풀이/백준

[백준 2588번] 곱셈 - 파이썬

jooon99 2023. 5. 9. 21:56

 

문제 링크

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

 

2588번: 곱셈

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

www.acmicpc.net

 

 

 

최종 코드

A = int(input());
B = input();


print(A*int(B[2]));
print(A*int(B[1]));
print(A*int(B[0]));
print(A*int(B));

 

 

 

문제 풀이 과정

이 문제가 [입출력과 산칙연산] 단계에서 가장 어려웠다.

 

처음 생각해낸 방법은 아래와 같다. 바로 첫 번째 입력 받은 수와 두번째 입력 받은 수의 각자리를 곱해서 출력한 것이다.
하지만 이건 두번째 입력 받은 수가 무조건 385여야 하기 때문에 실패.

A, B= map(int, input().split())

print(A*5);
print(A*8);
print(A*3);
print(A*B);

 

그다음 생각해낸 방법을 통해서 기본 개념을 파악하면 그게 문제 해결의 KEY가 될 수 있음을 알 수 있었다. 여기서 그 KEY는 input() 함수는 기본적으로 입력값을 문자열 형태로 저장한다는 사실이다. 문자열도 리스트와 같이 인덱스로 접근할 수 있다는 점을 기억하자.

 

A = int(input());
B = input();


print(A*int(B[2]));
print(A*int(B[1]));
print(A*int(B[0]));
print(A*int(B));

 

이 문제에 대해 다른 풀이가 있는지 찾아보던 중 반복문과 산술 연산자를 이용하여 문제를 풀 수 있다고 한다. 꼭 다른 방법으로도 풀어보자.