반응형
https://www.acmicpc.net/problem/2588
✅ 문제
- (세 자릿수) × (세 자릿수)는 다음과 같은 과정을 통하여 이루어진다.
- (1)과 (2) 위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6) 위치에 들어갈 값을 구하는 프로그램을 작성하시오.
- 시간 제한: 1 초
- 메모리 제한: 128 MB
💡 입력
- 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세 자리 자연수가 주어진다.
💡 출력
- 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
💡 예제 입력 1
472
385
💡 예제 출력 1
2360
3776
1416
181720
✅ 해결
💡 해결 계획
- 세 자리 수 두 개를 입력받는다.
- 두 수 중 하나씩 1의 자리부터 곱셈을 진행한다.
- 곱셈 결과 값을 출력한다.
- 결과 값들을 더하여 출력한다.
💡 코드 1 (성공)
시간 복잡도는 O(1)이다.
- 입력값이 주어진 상수의 개수인 2개로 고정되어 있다.
두 개의 정수 a, b를 입력받고, 문제에서 주어진 3 ~ 6번 계산식을 그대로 구현하여 결과를 출력한다.
- 3번 계산식에서는 b의 일의 자리를 구하여 a와 곱한다.
- 4번 계산식에서는 b의 십의 자리를 구하여 a와 곱한다.
- 5번 계산식에서는 b의 백의 자리를 구하여 a와 곱한다.
- 6번 계산식에서는 n5에 100을 곱하고, n4에 10을 곱하고, n3과 더한다.
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
// 입력받은 두 개의 정수를 a, b에 저장한다.
int a = sc.nextInt();
int b = sc.nextInt();
// 3번을 계산한다. b의 일의 자리를 구하여 a와 곱한다.
int n3 = a * (b % 10);
// 4번을 계산한다. b의 십의 자리를 구하여 a와 곱한다.
int n4 = a * ((b / 10) % 10);
// 5번을 계산한다. b의 백의 자리를 구하여 a와 곱한다.
int n5 = a * (b / 100);
// 6번을 계산한다. n5에 100을 곱하고, n4에 10을 곱하고, n3과 더한다.
int n6 = n3 + (n4 * 10) + (n5 * 100);
// 결과를 출력한다.
System.out.println(n3);
System.out.println(n4);
System.out.println(n5);
System.out.println(n6);
}
}
✅ 개념
💡 연산자(operator)
프로그래밍에서 변수, 상수 또는 리터럴(literal)들을 이용하여 계산하는 기호이다.
효율적인 계산과 변수나 상수들의 조작을 가능하게 한다.
- * 연산자를 사용하여 두 개의 정수를 곱한 결과를 구한다.
- % 연산자를 사용하여 일의 자리, 십의 자리, 백의 자리를 추출한다.
반응형
'프론트엔드 > 알고리즘' 카테고리의 다른 글
자바 JAVA | 백준 10172번 개 | 이스케이프 문자 활용하여 문자열 출력하는 방법 (0) | 2022.09.28 |
---|---|
자바 JAVA | 백준 10171번 고양이 | 이스케이프 문자 활용 (0) | 2022.09.28 |
자바 알고리즘 | IMOS 알고리즘을 활용한 구간 중첩 최대값 찾기 (0) | 2022.09.23 |
자바 JAVA | 백준 11660번 구간 합 구하기 5 | 2차원 배열에서 구간 합 구하기 (0) | 2022.09.20 |
자바 JAVA | 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 | 배열(Array)의 개념과 사용 방법 (0) | 2022.09.20 |
자바 JAVA | 백준 18108번 1998년생인 내가 태국에서는 2541년생?! | 불기 연도와 서기 연도 간의 변환 방법 (1) | 2022.09.20 |
자바 JAVA | 백준 10926번 ??! | Scanner 클래스를 활용한 사용자 입력 처리 방법 (0) | 2022.09.20 |
자바 알고리즘 | 코딩테스트에서 필수적인 시간 복잡도 개념과 활용 방법 (0) | 2022.09.19 |