충분히 쌓여가는
백준[Java] 2588번 곱셈 본문
https://www.acmicpc.net/problem/2588
문제풀이
// Scanner + 수학연산
// 나머지와 나눗셈 연산을 통해 각 자릿수를 구하는 방법
import java.util.Scanner;
public class _2588_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
sc.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);
}
}
- 2번 째로 입력된 정수(385)에 각 자리수를 %를 활용하여 구해줌
- B % 10: 385 중 5
- (B % 100) / 10: 385 중 8
- B / 100: 385 중 3
문제풀이2
// Scanner + charAt()
import java.util.Scanner;
public class _2588_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
String B = sc.next();
sc.close();
// 문자열 인덱스를 참조한 뒤 -'0' 을 해주는 이유 또한 우리가 문자로 저장된 숫자가 아닌 우리가 보는 숫자 그대로의 값을 쓰기 위한 것
System.out.println(A * (B.charAt(2) - '0'));
System.out.println(A * (B.charAt(1) - '0'));
System.out.println(A * (B.charAt(0) - '0'));
// Integer.parseInt()을 통해 문자열을 int형으로 바꿔줌
System.out.println(A * Integer.parseInt(B));
}
}
문제풀이3
// BufferedReader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class _2588_3 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int A = Integer.parseInt(br.readLine());
int B = Integer.parseInt(br.readLine());
System.out.println(A*(B%10));
System.out.println(A*((B%100)/10));
System.out.println(A*(B/100));
System.out.println(A*B);
}
}
문제풀이4
// BufferedReader + toCharArray
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class _2588_4 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int A = Integer.parseInt(br.readLine());
String B = br.readLine();
// 문자열 인덱스를 참조한 뒤 -'0' 을 해주는 이유 또한 우리가 문자로 저장된 숫자가 아닌 우리가 보는 숫자 그대로의 값을 쓰기 위한 것
System.out.println(A * (B.charAt(2) - '0'));
System.out.println(A * (B.charAt(1) - '0'));
System.out.println(A * (B.charAt(0) - '0'));
// Integer.parseInt()을 통해 문자열을 int형으로 바꿔줌
System.out.println(A * Integer.parseInt(B));
}
}
문제풀이5
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class _2588_5 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int A = Integer.parseInt(br.readLine());
int B = Integer.parseInt(br.readLine());
br.close();
StringBuilder sb = new StringBuilder();
sb.append(A*(B%10));
sb.append('\n');
sb.append(A*((B%100)/10));
sb.append('\n');
sb.append(A*(B/100));
sb.append('\n');
sb.append(A*B);
System.out.print(sb);
}
}
'IT > Java[백준]' 카테고리의 다른 글
백준[Java] 9498번 시험 성적 (0) | 2023.02.14 |
---|---|
백준[Java] 1330번 두 수 비교하기 (0) | 2023.02.14 |
백준[Java] 10430번 나머지 (0) | 2023.02.13 |
백준[Java] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.02.13 |
백준[Java] 10926번 ??! (0) | 2023.02.13 |