매우 간단!!
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. |
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다. |
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. |
예제
입력 | 출력 |
472 385 |
2360 3776 1416 181720 |
문제풀이(JAVA)
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int output[] = new int[4];
output[0] = num1 * (num2%10);
output[1] = num1 * (num2%100/10);
output[2] = num1 * (num2/100);
output[3] = num1 * num2;
for(int i =0; i < 4; i++){
System.out.println(output[i]);
}
sc.close();
}
}
< 추가 설명 (예제) >
1) 첫 번째 출력 : num1 * (num2%10);
- (3)에 들어갈 값은 472 x 5의 연산 결과이다. 즉, 첫 번째 입력값과 두 번째 입력값의 일의 자리 수를 곱하는 것 이다. 따라서 일의 자리를 구하는 연산인 (두 번째 입력값%10)을 첫 번째 입력값에 곱해주었다.
=> 385%10 = 5
2) 두 번째 출력 : num1 * (num2%100/10);
- (4)에 들어갈 값은 472 x 8의 연산 결과이다. 즉, 첫 번째 입력값과 두 번째 입력값의 십의 자리 수를 곱하는 것 이다. 따라서 십의 자리를 구하는 연산인 (두 번째 입력값%100/10)을 첫 번째 입력값에 곱해주었다.
=> 385%100 = 85, 85/10 = 8
3) 세 번째 출력 : num1 * (num2/100);
- (5)에 들어갈 값은 472 x 3의 연산 결과이다. 즉, 첫 번째 입력값과 두 번째 입력값의 백의 자리 수를 곱하는 것 이다. 따라서 백의 자리를 구하는 연산인 (두 번째 입력값/100)을 첫 번째 입력값에 곱해주었다.
=> 385/100 = 3
4) 네 번째 출력 : num1 * num2;
- (6)에 들어갈 값은 472 x 385의 연산 결과이다.
'개발ING > CodingTest' 카테고리의 다른 글
[프로그래머스] 문자열을 정수로 바꾸기 (0) | 2022.04.28 |
---|---|
[백준/코딩테스트/10809번] 알파벳 찾기 (0) | 2022.03.31 |
[프로그래머스] 약수의 개수와 덧셈 문제풀이 (0) | 2022.03.29 |
[프로그래머스] x만큼 간격이 있는 n개의 숫자 문제풀이 (0) | 2022.03.21 |