본문 바로가기

Programming/알고리즘

[백준] 1008번 - A/B JAVA [자바]

더하기와 같은 FORM을 가지나, 

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str, " ");
        
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseint(st.nextToken());
        
        System.out.println(a / b);
    }
}

위와 같이 제출 했더니 틀렸다고 나왔다. 그 이유는 문제에나온 "오차범위" 때문이다.

 

이를 위해서는 반드시 double 형으로 출력해주어야 한다. 

 

즉, 여기서는 반드시 자료형 타입을 잘 보아야 한다는 것이다.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
        
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
 		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str," ");
		double a = Double.parseDouble(st.nextToken());
		double b = Double.parseDouble(st.nextToken());
		
		System.out.println(a/b);
    }
}