반응형
출처: https://www.acmicpc.net/problem/1075
100 ≤ N ≤ 2,000,000,000에서 끝의 두 자리수를
최대한 작게 만들어서 주어진 정수 『 F 』로 나누어 떨어지게 하는 문제이다.
① 끝의 두 자리를 00 ~ 99로 숫자를 변환한다. (int 처리)
② 끝의 두 자리를 제외한 남은 자리의 수와 ①의 숫자를 이어준다. (String 처리)
③ F로 나누어 떨어지는 확인한다.
import java.util.Scanner;
// 이번 문제의 key point는 N의 뒷 두자리수를 최대한 작게하는 것이다.
// (물론 F에 나누어 떨어져야한다.)
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 100 <= N <= 2,000,000,000
String N = sc.next();
// F <= 100
int F = Integer.parseInt(sc.next());
String x="",y=""; // 최종 출력할 두 자리수들.
// N의 뒤의 둣자리수를 '00' ~ '99'까지 바꿔보며, F에 나누어 떨어지는 지 확인해본다.
// 10의 자리수의 변화
for(int i=0; i<=9; i++) {
// 1의 자리수의 변화
for(int j=0; j<=9; j++) {
// 주먹구구 방식으로 뒤의 두 자리수를 변화시킨다. (제일 낮은 숫자 크기부터 시작!)
x = String.valueOf(i);
y = String.valueOf(j);
N = N.substring(0, N.length()-2) + x + y;
// 나누어 떨어질 때 break!
if(Integer.parseInt(N) % F == 0) {
// 정답 출력!
System.out.println(x + y);
return;
}
}
}
}
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 9669 애너그램 (Java) (0) | 2021.02.13 |
---|---|
[BOJ] 백준 15685 드래곤 커브 (0) | 2021.02.13 |
[BOJ] 백준 14503 로봇 청소기 (0) | 2021.02.13 |
[BOJ] 백준 1676 팩토리얼 0의 개수 (Java) (0) | 2021.02.13 |
[BOJ] 백준 3040 백설 공주와 일곱 난쟁이(Java) (0) | 2021.02.13 |
댓글