
https://www.codetree.ai/missions/4/problems/a-divide-b/description
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.print(a / b + ".");
a %= b;
for(int i = 0; i < 20; i++) {
a *= 10;
System.out.print(a / b);
a %= b;
}
}
}
설명
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.print(a / b + ".");
- 여기까지는 a를 b로 나눈 몫을 계산하고 소수점을 붙여 출력한다.
- 예를 들어, a가 5이고 b가 2라면 "2."가 출력된다.
a %= b;
for(int i = 0; i < 20; i++) {
a *= 10;
System.out.print(a / b);
a %= b;
}
}
}
- 이 부분은 소수점 이하 자릿수를 계산한다.
1. a %= b는 a를 b로 나눈 나머지를 계산합니다. 예를 들어, a가 5이고 b가 2라면 나머지는 1이 됩니다.
2. for 루프는 20번 반복됩니다. 이 루프는 소수점 이하 20자리까지 계산하는 역할을 합니다.
• 각 반복에서 a에 10을 곱합니다. 이때의 a는 이전 단계에서 a % b로 남은 나머지입니다.
• 곱한 값 a를 다시 b로 나누어 몫을 구하고, 이를 출력합니다.
• 다시 a %= b를 통해 나머지를 계산하고, 이 과정을 반복합니다.
예를 들어, a가 1이고 b가 2인 경우를 봅시다:
• 첫 번째 반복: a = 1 * 10 = 10, 10 / 2 = 5, a = 10 % 2 = 0
• 이후 a가 0이 되므로 다음 반복에서는 항상 0을 출력합니다.
'알고리즘 > 코드트리' 카테고리의 다른 글
[코드트리][Java] 반복문 안의 if - 369 게임 (0) | 2024.08.03 |
---|---|
[코드트리][Java] 반복문 안의 if - a 부터 b 까지 (0) | 2024.08.03 |
[코드트리][Java] if 안의 for - 높은 수에서 낮은 수까지 (0) | 2024.08.02 |
[코드트리 조별과제] 2주차 정리 (0) | 2024.07.28 |
[코드트리 조별과제] 1주차 정리 (2) | 2024.07.20 |