https://www.acmicpc.net/problem/2588
자연수 2개를 입력받아서 자리수를 표시하고 마지막에 최종 결과값을 출력하는 문제
import java.util.*;
public class Multiple {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a, b;
a = scanner.nextInt();
b = scanner.nextInt();
char[] charArray = String.valueOf(b).toCharArray();
for(int i = charArray.length-1; i > -1; i--){
char val = charArray[i];
System.out.println(a * (val - '0'));
}
System.out.println(a*b);
}
}
내가 푼 방법은.. 배열로 담아서 반복문을 돌리는 작업이였다.
다른 분들이 푼 방법을 찾아보니 여러 방법들이 있는 것 같다.
<다른 방법 1>
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int A = in.nextInt();
String B = in.next();
in.close();
System.out.println(A * (B.charAt(2) - '0'));
System.out.println(A * (B.charAt(1) - '0'));
System.out.println(A * (B.charAt(0) - '0'));
System.out.println(A * Integer.parseInt(B));
}
}
<다른 방법 2>
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int A = in.nextInt();
int B = in.nextInt();
in.close();
System.out.println(A*(B%10));
System.out.println(A*(B%100/10));
System.out.println(A*(B/100));
System.out.println(A*B);
}
}
출처: https://st-lab.tistory.com/20
ps. 어렵지 않게 생각했는데, 다양한 방법으론 생각해보지 못한 것 같다.
다음엔 어떤 방법이 있을지 좀 더 생각해보는 자세가 필요할 것 같다.