A/B 풀이
2023. 6. 7. 17:14ㆍBaekJoon/입출력과 사칙연산
문제 내용
사용자에게 A와 B를 입력받아 A에서 B를 나누는 문제이다.
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double num1 = sc.nextDouble();
double num2 = sc.nextDouble();
System.out.println(num1/num2);
}
}
사용자에게 임의의 수를 입력받을 수 있는 Scanner를 이용하여 double 자료형 num1과 num2를 입력받아 나눈 값을 출력했다.
사실 코드에 문제가 있다. 풀었을 때는 몰랐는데 출력만 보고 num1과 num2를 double 자료형으로 받은 것이 문제가 있는 것 같다. 문제 내용에서도 정수를 입력받으라고 하였고 메모리적으로도 봤을때 int는 4바이트 double은 8바이트이기 때문에 메모리도 이유 없이 쓰고 있기 때문이다. 그렇기 때문에 맞는 풀이로는 num1과 num2를 정수형인 int로 선언해야 한다. 그리고 나눌 때 여러가지 방법이 있겠지만 생각한 방법으로는 double 형태로 형변환을 시켜주면된다.
코드를 첨부해두겠다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
System.out.println((double)num1/num2);
}
}
겪었던 문제
풀었을 때까진 없었지만 풀고나서 문제를 발견했다. 그 문제는 위의 풀이에서 언급하였으므로 생략하도록 하겠다.