[백준] 2588번 나머지 파이썬 python
본문 바로가기
Python/Python 코딩테스트

[백준] 2588번 나머지 파이썬 python

by 쏠수있어ㅤ 2022. 1. 24.
반응형

곱셈

 
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB 176714 84381 72300 48.542%

문제

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

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

입력

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

출력

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

예제 입력 1 복사

472
385

예제 출력 1 복사

2360
3776
1416
181720

알고리즘 분류

 

 

 

정답 코드 : 

1번 방식

a = int(input())
b = int(input())

print(a*(b%10))
print(a*(b%100//10))
print(a*(b//100))
print(a*b)

 

2번 방식

a = int(input())
b = input()

print(a*int(b[2]))
print(a*int(b[1]))
print(a*int(b[0]))
print(a*int(b))

 

 

풀이 : 

1번 방식은 사칙연산을 통해 b 3자리 수의 첫번째, 두번째, 세번째 자리의 숫자를 구한다. 

b가 123이라면 

b%10 -> 10으로 나눈 나머지 = 일의 자리 수 3

b%100//10 -> 100으로 나눈 수의 나머지 (23) 을 다시 10으로 나눈 몫 = 2

b//100 -> 100으로 나눈 몫  = 1

 

2번 방식은 처음에 b 값을 입력받을 때 숫자 형식으로 바꿔주는 int()를 쓰지 않고 그대로 Input() 받는다. (문자, 스트링 형식) 

그리고 b[0], b[1], b[2] 를 사용해서 각 자리의 수를 int()로 다시 바꾼 후 곱해준다. 

스트링으로 입력받는 이유는 숫자 형식은 123[0] 이렇게 사용이 되지 않기 때문이다. 

 

반응형

댓글