[Java] 백준 #2588 (입출력과 사칙연산)

정상준·2022년 10월 6일
0

백준

목록 보기
13/99
post-thumbnail

📍 출처

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

📝 문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

⌨️ 입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

🖨 출력

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

⌨️ 예제 입력

472
385

🖨 예제 출력

2360
3776
1416
181720

📚 내가 제출한 코드

방법 1.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        int A = sc.nextInt();
        int B = sc.nextInt();

        sc.close();

        System.out.println(A * (B%10)); //B의 1의자리 수
        System.out.println((A * (B%100 - B%10))/10); //B의 2의자리 수
        System.out.println((A * (B - (B%100)))/100); //B의 3의자리 수
        System.out.println(A*B);
    }

}

방법 2.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        int A = sc.nextInt();
        String B = sc.next();
        sc.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));
    }

}

✏️ 내가 제출한 코드에 대한 설명

  • 방법 1.은 나눗셈과 곱셈활용해 각 자리수 구함
  • 방법 2. charAt() : 매개변수에 index를 입력받아 문자열의 index에 대응하는 문자 출력
profile
안드로이드개발자

0개의 댓글