A/B 풀이

2023. 6. 7. 17:14BaekJoon/입출력과 사칙연산

문제 내용

 

사용자에게 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);
	}

}

겪었던 문제

풀었을 때까진 없었지만 풀고나서 문제를 발견했다. 그 문제는 위의 풀이에서 언급하였으므로 생략하도록 하겠다.

'BaekJoon > 입출력과 사칙연산' 카테고리의 다른 글

??! 풀이  (0) 2023.06.07
사칙연산 풀이  (0) 2023.06.07
AxB 풀이  (0) 2023.06.07
A-B  (0) 2023.06.07
A+B 풀이  (0) 2023.06.07