https://www.acmicpc.net/problem/1312
알고리즘 분류
- 수학
풀이
간단한 연산 문제인줄 알아서 자꾸 뜨는 런타임오류로 인해 한참 해멨다.
BigDecimal를 사용해도 10의 10,000,000제곱까지는 표현하기 어렵기 때문이다.
그래서 나눗셈을 구현해 문제를 풀었다.
나눗셈은 a와 b를 나눈 나머지에 10을 곱하는 반복적인 연산이라고 한다.
그리고 우리가 알아야 할 것은 1의자리 즉, 몫을 알아야 하므로 result라는 변수에 계속 저장하도록 했다.
아래는 전체 정답 코드이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int n = Integer.parseInt(st.nextToken());
int result = 0;
for (int i = 0; i < n; i++) {
a = a % b * 10;
result = a / b;
}
System.out.println(result);
}
}
'BOJ, Programmers' 카테고리의 다른 글
[Java] 백준 1527 (금민수의 개수) 자바 문제 풀이 (0) | 2024.04.15 |
---|---|
[Java] 백준 2075 (N번째 큰 수) 자바 문제 풀이 (1) | 2024.04.15 |
[Java] 백준 1543번 (문서 검색) 자바 문제 풀이 (0) | 2024.04.08 |
[Java] 백준 1448 번 (삼각형 만들기) (0) | 2024.04.08 |
[Java] 백준 2725번 (보이는 점의 개수) (2) | 2024.04.06 |