코딩공부/알고리즘

[파이썬 풀이] 백준 2588.곱셈

잉옐잉 2021. 11. 3. 22:52

문제   

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

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

 

입력   

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

ex) 472

385

 

출력   

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

ex) 2360

3776

1416

181720

 

코드   

A=int(input())
B=input()
result=[]
sum=0;
for i in range (len(B)):
    result.append(A*int(B[i]))


result.reverse()


for j in range(len(B)):
    print(result[j])
    sum=sum+(result[j]*(10**j))

print(sum)

#길이:213B 시간:68ms
A=int(input())
B=input()
result=[]
for i in range (len(B)):
    result.append(A*int(B[i]))


result.reverse()


for j in range(len(B)):
    print(result[j])

print(A*int(B))

#길이:174B 시간:72ms

 

 

관련 개념 정리   

input

파이썬에서는 값을 사용자로부터 입력받을때 input함수를 사용합니다.

입력받은 값을 넣을 변수 이름 = input("띄울 메세지")

 

단! input함수는 입력받은 모든 내용을 문자열로 인식합니다. 따라서 입력받은 내용을 정수로 변환하려면

d = int(input())

와 같은 형태로 작성하거나,  나중에 변수를 사용할때

print(int(d)+2)

와 같이 int()로 감싸서 작성할 수 있습니다.

 

 

리스트

리스트란 여러개의 숫자나 문자를 하나의 변수에 저장할 때 사용합니다.

리스트이름=[데이터1,데이터2,데이터3...]
#b=[]와 같은 비어있는 리스트도 생성 가능!

또한 인덱싱이 가능합니다. 인덱스값은 0부터 시작합니다.

d=[1,2,3]
print(d[0]) #1
print(d[1]) #2
print(d[2]) #3

 

리스트의 길이를 구할때는 len함수를 사용합니다.

b = [4,29,3,4]
print(len(b))
# 4

len(리스트이름)을 입력하면 리스트의 길이값이 반환됩니다.

 

리스트에 값을 추가하고 싶을때는 append함수를 사용합니다.

b = [4,29,3,4]
b.append(6)
print(b)
# [4,29,3,4,6]

리스트이름.append(추가할 값)을 입력하여 사용할 수 있습니다.

append함수를 이용하여 값을 추가하면 리스트의 맨 마지막에 값이 추가됩니다.

 

리스트의 요소들을 반대로 정렬하고 싶을때는 reverse함수를 사용합니다.

b = [25,23,66,11,2]
b.reverse()
print(b)
# [2,11,66,23,25]

리스트이름.reverse()를 입력하여 사용할 수 있습니다.

 

 

for문

특정 코드들을 원하는 횟수 만큼 반복 시킬 때 사용하는것이 for문입니다.

for문의 기본 구조는 아래와 같습니다.

for i in 리스트(or 문자열, 튜플):
	실행할 코드

리스트,문자열,튜플의 첫 글자나 요소부터 마지막 글자나 요소까지 차례대로 변수에 대입됩니다.

 

for문의 범위와 변수값을 숫자로 정하고 싶을때는 아래와 같이 range함수를 사용합니다.

for i in range(시작숫자,종료숫자,step):
	실행할 코드

step은 얼만큼씩 변수를 증가 시킬지 정하는 것 입니다.

시작숫자와 step은 생략되어도 됩니다.