2588번: 곱셈
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
www.acmicpc.net
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
* 1년 전 작성한 답
a = int(input())
b = input()
ab3 = a * int(b[2])
ab4 = a * int(b[1])
ab5 = a * int(b[0])
ab6 = a * int(b)
print(ab3, ab4, ab5, ab6, sep="\n")
첫 번째 수는 a, 두 번째 수는 b로 입력받습니다. b를 문자열로 받아주는 이유는 인덱스를 써먹기 위해서 입니다. 출력되어야할 순서대로 저장해주고 줄을 바꿀 수 있도록 sep="\n"을 사용해주어서 한 줄로 출력했습니다. 1년 전쯤에 풀었던 문제의 코드를 다시 보았는데 간사한 코드였네요.
* 오늘 작성한 답
a = int(input())
b = int(input())
b_list = [int(i) for i in str(b)]
b_list.reverse()
for i in range(len(b_list)):
print(a * b_list[i])
print(a * b)
2개의 숫자를 받고 두 번째 숫자는 리스트 형태로 따로 저장해줍니다. 그 후에 순서를 역순으로 바꿔주는 reverse() 함수를 사용해주고 자릿수별로 a와 곱한 수를 출력해준 뒤에 최종 결과값까지 출력했습니다. 이 코드는 공부를 하면서 reverse() 함수를 이용해 풀어보라는 지시가 있어서 이렇게 풀어봤습니다.
건강한 피드백은 언제나 환영합니다.
'알고리즘 > 백준' 카테고리의 다른 글
[Python] 백준 10825번 - 국영수 (0) | 2022.03.28 |
---|---|
[Python] 백준 11650번 - 좌표 정렬하기 (0) | 2022.03.28 |
[Python] 백준 10988번 - 팰린드롬인지 확인하기 (0) | 2022.03.28 |
[Python] 백준 1373번 - 2진수 8진수 (0) | 2022.03.28 |
[Python] 백준 1212번 - 8진수 2진수 (0) | 2022.03.28 |