[1008/JAVA] A/BKnowledge/Algorithm2023. 12. 13. 12:40
Table of Contents
728x90
문제
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10 뭐시기 이하면 정답이다.
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int A = scanner.nextInt();
int B = scanner.nextInt();
System.out.println(A/B);
}
}
이렇게 하면 되겠지 싶었는데...
??? 난 분명히 잘 됐는데...
내가 간과한 게 있었다. 소수점 값이 나오는지도 확인을 했어야했다...
nextInt를 사용하게 되면 입력받은 숫자를 정수(Integer)로 인식하게 된다. 따라서 nextInt()로 입력받은 두 정수를 나누게 되면 결과는 무조건 정수가 나오게 되고 이때, 소수점 이하의 값을 버리게 된다. 예를 들면, 5와 2를 입력받아 나눗셈을 수행했을 때 출력값은 2.5가 되어야 하지만 nextInt()를 사용한 경우 2가 출력되게 된다. 따라서 실수값을 포함한 결과를 얻기 위해서는 nextDouble() 메서드를 사용해주어야 한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double A = scanner.nextDouble();
double B = scanner.nextDouble();
System.out.println(A/B);
}
}
정상적으로 잘 작동된다.
통과✅✅
정리
요구조건도 읽지않고 너무 건성건성 풀어서 그런지 저런 부분을 하나도 고려하지 않았던 것 같다.
일단 백준 단계별 코스를 차분히 따라가다보면 실력이 늘지 않을까...? 라고 조심스럽게 생각해본다.
728x90
'Knowledge > Algorithm' 카테고리의 다른 글
[10926/JAVA] ??! (0) | 2023.12.16 |
---|---|
[11382/JAVA] 꼬마 정민 (0) | 2023.12.16 |
[10430/JAVA] 나머지 (0) | 2023.12.15 |
[10998/JAVA] A×B (0) | 2023.12.13 |
[1001/JAVA] A-B (0) | 2023.12.12 |
@Marty_ :: 소리 지르고 싶다.
쓰임 있는 사람이 되기 위해 노력 중입니다.