코딩 테스트

[코딩테스트] 백준 1008번: A/B (Java)

dev.jelee 2025. 5. 4. 01:31

# 문제

 

# 코드

  • Scanner, BufferedReader + InputStreamReader 사용

▼ Scanner 사용

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    double sum = (double) A / B;

    System.out.println(sum);
    
    sc.close();
  }
}

 

▼ BufferedReader + InputStreamReader 사용 - 1

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

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    int A = Integer.parseInt(br.readLine());
    int B = Integer.parseInt(br.readLine());

    double sum = (double) A / B ;

    System.out.println(sum);
  }
}

 

 BufferedReader + InputStreamReader 사용 - 2 (백준 제출 용)

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

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    String[] strs = br.readLine().split(" ");

    int A = Integer.parseInt(strs[0]);
    int B = Integer.parseInt(strs[1]);

    double sum = (double) A / B;

    System.out.println(sum);
  }
}

 

# 입/출력 결과

▼ Scanner

 

▼ BufferedReader + InputStreamReader - 1

 

▼ BufferedReader + InputStreamReader - 2

 

# 과정

  • 첫 번째는 Scanner 클래스로 문제를 풀었다.
    • 두 정수를 각각 A, B 변수에 저장을 한 다음 계산을 할 때 형변환을 float로 했는데 틀렸다.
    • 그래서 double로 형변환을 하니 성공했다.
  • 두 번째는 BufferedReader + InputStreamReader로 문제를 풀었다.
    • 백준에 제출용으로는 자동으로 입력받은 값을 공백 기준으로 나누어서 String타입의 배열로 저장한 다음 각각 A, B 변수에 형변환하여 저장하였다.
    • 계산은 소수점이 나와야하기 때문에 double로 형변환을 했다.

 

# 느낀 점

  • double이 기본 실수 타입이라는 걸 알았다.