728x90
반응형
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
첫번째 수를 a, 두번째 수를 b라고 하면
b = 100x + 10y + z 꼴로 분해가 가능하다.
그리고 a*b = a * 100x + a * 10y + a * z 로 분리하여 생각할 수 있고,
문제의 의도는
(3) a*z
(4) a*10y
(5) a*100x
(6) a*b (최종결과) 를 분리하여 출력하는 것에 있다.
두 정수 a, b 를 입력받았고
z = b % 10
385 % 10 하면 385를 10으로 나눈 나머지 5가 출력된다.
y = b % 100 / 10
385 %100 하면 85가 나오고, 그 85를 10으로 나눴는데 int이니까 몫인 8만 살아남는다.
z = b /100
385/100 했는데 int 니까 3만 살아남는다.
배열로 뽑을 수도 있을 것 같지만 형변환 하기 귀찮다...
사실 귀찮아서 늘 쓰던 자바 쓰는 내 인생이 더 레전드
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt(); //첫번째 숫자
int b = sc.nextInt();
sc.close();
//a*b의 일의자리
int one= a * (b % 10);
//a*b의 십의자리
int ten= a * (b % 100 / 10);
//a*b의 백의자리
int hundred= a * (b / 100);
//a*b
int fin= one+ten*10+hundred*100;
System.out.println(one);
System.out.println(ten);
System.out.println(hundred);
System.out.println(fin);
}
}
728x90
반응형
'study > CodingTest' 카테고리의 다른 글
백준 2753 윤년 판별 (Java) (0) | 2021.11.05 |
---|---|
백준 2884 알람시계 (Java) (0) | 2021.11.05 |
백준 10950 A+B 주어진 개수만큼 반복 출력하기 (Java) (0) | 2021.11.05 |
백준 10171 고양이 출력하기 (Java) : 이스케이프 문자 (0) | 2021.10.30 |
코딩테스트 카테고리를 신설했습니다. (0) | 2021.10.30 |
댓글