Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

백준[Java] 2588번 곱셈 본문

IT/Java[백준]

백준[Java] 2588번 곱셈

빌드이너프 2023. 2. 14. 09:59

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

 

2588번: 곱셈

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

www.acmicpc.net


문제풀이

// 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);

    }
}