개발자 되기/코딩테스트

[백준/python] 2588번

발전하는 개발자 2022. 12. 1. 14:40
728x90
반응형

문제

답1

A = int(input())
B = int(input())
# B의 1의 자리수
B1 = B%10
# B의 10의 자리수
B2 = (B%100)//10
# B의 100의 자리수
B3 = B//100

print(A*B1, A*B2, A*B3, A*B, sep='\n')

답2

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()

for i in range(len(B),0,-1):
    print(A*int(B[i-1]))
# for문 실행시 출력되는 것
# A * int(B[2])
# A * int(B[1])
# A * int(B[0])

print(A * int(B))

 

해설

(3) : (1)의 값 * (2)의 1의 자리의 값

(4) : (1)의 값 * (2)의 10의 자리의 값

(5) ; (1)의 값 * (2)의 100의 자리의 값

(6) : (1)의 값 * (2)의 값

 

(2)의 각 자리를 구하는 방법은 2가지가 있음

1. 나머지를 이용하여 각각의 자리수 구하기

(2)를 385라고 가정하면,

1의 자리수(5)를 구하려먼 385를 10으로 나눈 나머지를 구하면 됨

10의 자리수(8)를 구하려면 385를 100으로 나눈 나머지(85)를 또 10으로 나눈 몫을 구하면 됨

100의 자리수(3)를 구하려면 385를 100으로 나눈 몫을 구하면 됨.

 

2. 문자열을 조작하여 각각의 자리수 뽑아오기

input()으로 입력받은 값은 문자열로 인식됨

문자열은 각각의 글자를 꺼내올 수 있음

(2)를 385라고 가정하면, 385[0] = 3. 385[1]=8, 385[2] = 5가 됨

 

시작부터 증감하여 끝에 멈추는 반복문

for i in range(시작, 끝, 증감):
    실행문

예시

for i in range(3, 1, -1):
  print(i)
3
2

 

728x90
반응형