JAVA - 백준 [BAEK JOON]/입출력과 사칙연산

[백준] 2588번 : 곱셈 - JAVA (자바)

_ys2 2024. 4. 20. 17:00
728x90
반응형

https://www.acmicpc.net/problem/2588

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net


문제

출처 - 백준 알고리즘


문제 풀이

import java.util.Scanner;

public class Main {    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);   
        int a = sc.nextInt();   
        int b = sc.nextInt();   

        System.out.println(a * (b % 10));  
        System.out.println(a * (b % 100 / 10)); 
        System.out.println(a * (b / 100));  
        System.out.println(a * b);  

        sc.close(); 
    }
}

코드 풀이

숫자를 수학적으로 접근해서 푸는 방법이다.

B에 들어오는 입력값을 각 자릿수 별로 얻어오는방법이다.
그럼 두 번째 입력으로 들어오는 385의 각 자릿수 값은 어떻게 구할까?

일의 자리 5의 경우 385 % 10을 해주면 10으로 나머지를 구하니 5가 나오고, 십의자리 385 % 100을 하고 나눈 값으로 85 / 10을    하면 8이 나오고, 백의 자리 3은 385 / 100을 하면 3이 나온다.

 

아래 코드를 보면서 해보자

 

Scanner sc = new Scanner(System.in);
사용자 입력을 받기 위해 Scanner 객체를 생성합니다.

 

int a = sc.nextInt();
int b = sc.nextInt();
사용자로부터 정수를 입력받아 변수 a에 저장합니다.
사용자로부터 정수를 입력받아 변수 b에 저장합니다.

 

System.out.println(a * (b % 10));   
System.out.println(a * (b % 100 / 10)); 
System.out.println(a * (b / 100));  
System.out.println(a * b);
b를 10으로 나눈 나머지(일의 자리)를 a와 곱한 값을 출력합니다.
b를 100으로 나눈 나머지를 10으로 나눈 몫(십의 자리)을 a와 곱한 값을 출력합니다.
b를 100으로 나눈 몫(백의자리)을 a와 곱한 값을 출력합니다.
두 수를 곱한 값을 출력합니다.

 

sc.close();
Scanner를 사용한 입력이 모두 끝났으므로 리소스를 반환한다.

 


피드백 & 정리

나름 쉬운 문제인 만큼 입출력에 대해 여러 방법들을 찾아보고 익히면서 나 스스로 더 단단하고 묵직하게 실력이 늘었으면 좋겠다.

깃 허브 코드

https://github.com/CHUNYOUNGSANG/Algorithm_Judge/blob/main/boj/java/step/b_01_input_output_and_arithmetic_operations/p_2588.java

 

Algorithm_Judge/boj/java/step/b_01_input_output_and_arithmetic_operations/p_2588.java at main · CHUNYOUNGSANG/Algorithm_Judge

Contribute to CHUNYOUNGSANG/Algorithm_Judge development by creating an account on GitHub.

github.com

 

 

반응형