문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(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은 생략되어도 됩니다.
'코딩공부 > 알고리즘' 카테고리의 다른 글
[파이썬 풀이] 백준 9498.시험 성적 (0) | 2021.11.04 |
---|---|
[파이썬 풀이] 백준 1330.두 수 비교하기 (0) | 2021.11.03 |
[파이썬 풀이] 백준 10430.나머지 (0) | 2021.11.03 |
[파이썬 풀이] 백준 10869.사칙연산 (0) | 2021.11.03 |
[파이썬 풀이] 백준 1008.A/B (0) | 2021.11.03 |