반응형
자바로 백준 2588번 문제 풀어 보겠습니다.
https://www.youtube.com/watch?v=E-4GeI3Nkvs
문제
세 자리 자연수가 주어질 때 각 위치 숫를 곱하는 프로그램을 작성하세요
https://www.acmicpc.net/problem/2588
풀이
세자리 숫자의 일의 자리, 십의 자리, 백의 자리를 구하는 방법은 나누기 연산과 모듈로 연산(나머지 연산)을 활용합니다.
- 일의 자리: 주어진 숫자를 10으로 나눈 나머지를 구하면 됩니다. 예를 들어 472를 10으로 나누면 몫은 47, 나머지는 2가 됩니다. 따라서 472 % 10 = 2로 일의 자리를 구할 수 있습니다.
- 십의 자리: 주어진 숫자를 10으로 나눈 몫을 다시 10으로 나눈 나머지를 구하면 십의 자리를 얻을수 있습니다. 예를 들어 472를 10으로 나누면 몫은 47이고, 이를 10으로 나눈 나머지는 7이 됩니다. (472 / 10) % 10 = 7로 십의 자리를 구할 수 있습니다.
- 백의 자리: 주어진 숫자를 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();
}
}
반응형
'Coding Test > Beakjoon' 카테고리의 다른 글
[자바] 백준 10171번 고양이 문제 풀기 (1) | 2024.08.20 |
---|---|
[자바] 백준 11382번 꼬마 정민 문제 풀기 (1) | 2024.08.19 |
[자바] 백준 10430번 나머지 문제 풀기 (1) | 2024.08.17 |
[자바] 백준 18108번 1998년생인 내가 태국에서는 2541년생?! 문제 풀기 (1) | 2024.08.16 |
[자바] 백준 10926번 ??! 문제 풀기 (3) | 2024.08.15 |