728x90

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

 

2588번: 곱셈

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

www.acmicpc.net

 

풀이)

1번 풀이)

A=int(input())
B=int(input())
print(A*(B%10))
print(A*((B//10)%10))
print(A*((B//10)//10))
print(A*B)

가장 그냥 기본적으로 나머지를 구하는 연산을 통해서, 푸는 방법과

 

2번 풀이)

A=int(input())
B=input()
a=A*int(B[2])
b=A*int(B[1])
c=A*int(B[0])
d=A*int(B)
print(a, b, c, d, sep="\n")

input() 함수의 입력 자료형은 항상 문자열인 것을 이용해 B에 입력받은 문자열을 문자 선택 연산자(인덱싱)으로 활용하여 푸는 방법도 있다.

첫번째 글자 부터 0인것을 활용하여 B의 입력된 값이 385라고 할때 5는 B[2]이고 십의 자리인 8은 두번째 글자 이므로 B[1], 3은 첫번째 글자이므로 B[0]이다.

 

ex)인덱싱 예시 a="안녕하세요"라고 할 때,

[0] [1] [2] [3] [4]

>>>print(a[0])

>>>print(a[1:3])

녕하세

A=int(input())
B=input()
print(A*int(B[2]), A*int(B[1]), A*int(B[0]), A*int(B), sep="\n")

3번 풀이)

A=int(input())
B=input()
a=A*int(B[-1])
b=A*int(B[-2])
c=A*int(B[-3])
d=A*int(B)
print(a, b, c, d, sep="\n")

인덱싱 방법은 앞글자를 0부터 세는 방법과 뒤에서(-1)선택하는 방법이 있다.

ex)인덱싱 예시 a="안녕하세요"라고 할 때,

[-5] [-4] [-3] [-2] [-1]

>>>print(a[-3])

>>>print(a[-1])

A=int(input())
B=input()
print(A*int(B[-1]), A*int(B[-2]), A*int(B[-3]), A*int(B), sep="\n")

이렇게 다양한 방법이 있으니까, 여러방법을 생각해보고 활용하는 방법을 생각해보자

 

728x90