Computer Science/코딩 테스트 연습

[백준] 1008번 : A/B (1단계) (Java)

lko9911_ 2025. 11. 29. 20:25

 


풀이

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 두 정수 A와 B를 입력받습니다. (입력은 정수 형태입니다)
        // A와 B의 범위가 int에 들어간다고 가정합니다.
        int A = scanner.nextInt(); 
        int B = scanner.nextInt(); 
        
        // 1. 실수 나눗셈 수행:
        // A를 double 타입으로 명시적으로 형 변환(Casting)합니다.
        // 이로 인해 연산 전체가 실수 연산으로 바뀌어 정확한 소수점 결과를 얻게 됩니다.
        double result = (double)A / B; 
        
        // 2. 결과 출력:
        // double 타입의 변수를 출력하면 Java는 기본적으로 필요한 모든 자릿수를 출력합니다.
        // 출력값의 절대/상대 오차가 10^-9 이하인 조건을 만족시키기 위해
        // System.out.println()을 사용하여 double 변수를 그대로 출력합니다.
        System.out.println(result);
        
        scanner.close();
    }
}

 

여기서 정수 나눗셈을 취하고자한다면 double result 를 int result로 바꾸시면 됩니다. (이경우 (double)A / B의 double 제거)

 

숏코딩

 

import java.util.Scanner;
class Main{public static void main(String[]a){Scanner s=new Scanner(System.in);System.out.print(s.nextDouble()/s.nextDouble());s.close();}}

 

코드 부분 역할
s.nextDouble() 입력받는 값을 처음부터 double 타입으로 읽어옵니다.
System.out.print(...) 계산된 double 결과를 바로 출력하여 변수 선언을 생략합니다.