IdoCleanCode
article thumbnail
반응형

자바로 백준 2588번 문제 풀어 보겠습니다.

https://www.youtube.com/watch?v=E-4GeI3Nkvs

[자바] 백준 2588번 곱셈 문제 풀기

문제

세 자리 자연수가 주어질 때 각 위치 숫를 곱하는 프로그램을 작성하세요

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

 

풀이

세자리 숫자의 일의 자리, 십의 자리, 백의 자리를 구하는 방법은 나누기 연산과 모듈로 연산(나머지 연산)을 활용합니다.

  1. 일의 자리: 주어진 숫자를 10으로 나눈 나머지를 구하면 됩니다. 예를 들어 472를 10으로 나누면 몫은 47, 나머지는 2가 됩니다. 따라서 472 % 10 = 2로 일의 자리를 구할 수 있습니다.
  2. 십의 자리: 주어진 숫자를 10으로 나눈 몫을 다시 10으로 나눈 나머지를 구하면 십의 자리를 얻을수 있습니다. 예를 들어 472를 10으로 나누면 몫은 47이고, 이를 10으로 나눈 나머지는 7이 됩니다. (472 / 10) % 10 = 7로 십의 자리를 구할 수 있습니다.
  3. 백의 자리: 주어진 숫자를 100으로 나눈 몫이 백의 자리가 됩니다. 예를 들어 472를 100으로 나눈 몫이 4가되어 백의 자리를 구할수 있습니다. 472 / 100 = 4

관련 자료

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Scanner.html

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html

코드

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int num1 = sc.nextInt();
    int num2 = sc.nextInt();

    int firstNum2 = num2 % 10;
    int secondNum2 = (num2 / 10) % 10;
    int thirdNum2 = num2 / 100;

    System.out.println(num1 * firstNum2);
    System.out.println(num1 * secondNum2);
    System.out.println(num1 * thirdNum2);
    System.out.println(num1 * num2);
    
    sc.close();
    }
}

[백준] 문제 풀이 모음

반응형
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!