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

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
예제 입력 1 복사
472
385
예제 출력 1 복사
2360
3776
1416
181720
a, b = map(str, input().split())
print(int(a)*int(b[-1]))
print(int(a)* int(b[-2] + '0'))
print(int(a)* int(b[-3] + '00'))
처음엔 이렇게 풀려고 했다 ㅋㅋㅋㅋㅋ 하지만 ValueError가 났다...!
바로 검색을 해서 알게 된 풀이 방법은, 몫과 나머지를 구해서 푸는 방법, for문을 이용해 푸는 방법, 리스트를 이용해 푸는 방이다.
몫과 나머지를 이용한 방법, for문을 이용한 방법을 잘 기억해두자!
몫과 나머지를 이용해 푸는 방법
a = int(input())
b = int(input())
print(a * (b%10))
print(a * ((b%100)//10))
print(a * (b//100))
print(a * b)
472 *5, 472*8, 472*3, 472*385를 각각 구해야 하는데 5, 8, 3은 일의 자리부터 백의 자리 숫자다.
a * (b % 10)
385를 10으로 나눈 나머지는 5.
a와 이것을 곱함
a * ((b % 100) // 10)
385를 100으로 나눈 나머지는 85.
85를 10으로 나누었을 때 몫은 8.
a와 이것을 곱함
a * (b // 100)
385를 100으로 나누었을 때 몫은 3.
a와 이것을 곱함
for문을 이용한 방법
a = int(input())
b = input()
for i in range(len(b), 0, -1):
print(a * int(b[i-1]))
print(a * int(b))
len(b) = 3이므로 인덱싱을 하려면 [i-1]을 해야함
그렇지 않으면 인덱스가 b의 범위를 벗어남
리스트를 사용한 방법
a = int(input())
b = input()
result = []
for i in range(len(b), 0, -1):
result.append(a * int(b[i-1]))
print(result[0], result[1], result[2], sep='\n')
print(a * int(b))
리스트를 만들고, for문을 이용한 방법과 같이 for문에서 구한 값을 리스트에 추가해준다.
385가 거꾸로 5, 8, 3으로 돌아가고 472와 5, 8, 3 순으로 곱해진 수가 리스트에 추가된다.
sep='\n'
을 통해서 출력되는 값들을 줄 바꿈 문자로 분리해준다.
print(result[0], '\n', result[1], '\n', result[2])
이 방법은 안된다. 출력 시
2360
3776
1416
181720
처럼 공백이 나온다.
해당 방법들은 '고플래닛' 님의 https://velog.io/@goplanit/Algorithm-%EB%B0%B1%EC%A4%80-2588%EB%B2%88-%EA%B3%B1%EC%85%88%ED%8C%8C%EC%9D%B4%EC%8D%AC 을 참고했다.
'코딩테스트 > 백준' 카테고리의 다른 글
백준 > 단계별로 풀어보기 > 조건문 > 2525번: 오븐 시계 (0) | 2024.07.15 |
---|---|
백준 > 단계별로 풀어보기 > 조건문 > 2884번: 알람 시계 (0) | 2024.07.15 |
백준 > 단계별로 풀어보기 > 입출력과 사칙연산 > 10171번: 고양이, 10172번: 개 (2) | 2024.07.14 |
백준 > 단계별로 풀어보기 > 입출력과 사칙연산 > 10108번 1998년생인 내가 태국에서는 2541년생?! (1) | 2024.07.14 |
백준 > 단계별로 풀어보기 > 입출력과 사칙연산 > 10926번 ??! (1) | 2024.07.14 |