https://www.acmicpc.net/problem/2588
2588번: 곱셈
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
www.acmicpc.net

자연수 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
[백준] 2588번 : 곱셈 - JAVA [자바]
https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 매우 간단한 문제다! 3개의 풀이 방법을 제시한다. 이..
st-lab.tistory.com
ps. 어렵지 않게 생각했는데, 다양한 방법으론 생각해보지 못한 것 같다.
다음엔 어떤 방법이 있을지 좀 더 생각해보는 자세가 필요할 것 같다.