[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

2016년 8월 16일 화요일

[JAVA] Baekjoon A/B를 계산하시오..

으아 혹시나 했는데.. 진짜였다니.. 사칙연산을 다 시키려고 하는 모양이다.. 해당 문제는 단순히 보면 나눗셈이다 우선 문제부터 보자..

아 그리고..!! 곰곰히 생각을 해봤는데 해당 내용만으로는 문제의 의도를 파악하기가 어려울 수 있다고 생각을 했다.. 그래서 입/출력 예제까지 보실 수 있도록 각 문제별로 링크를 걸기로 하였다.. 물론, 해당 사이트 방문 후 본인 스스로 문제를 찾아서 하실 수도 있지만 사람마다 틀리듯 그렇지 않는분도 계실거라고 생각하기에.. ㅎㅎ..

문제
A/B를 계산하시오.

입력
첫째 줄에 A와 B가 주어진다. (0 < A,B < 10)

출력
첫째 줄에 A/B를 소수점 9자리 이상 출력한다. 절대/상대 오차는 10-9 까지 허용한다.

여기서 생각할 것이 있다.. 나도 처음에는 단순히 "에이 머야.. 나누면 되는거네..??" 라는 생각을 했다.. 하지만 사이트를 통해서 보면 알겠지만 소수점을 표현을 해야된다..

나도 약간은 당황했다.. 단순 나눗셈이 아니고, 나눗셈은 나눗셈이지만 소수점 표현이라니.. 이게 바로 기초의 무지함에서 오는 것은 아닐까..? 라는 생각을 해보게 되었다..

소수점을 표현하기 위해서는 double 을 활용하면 되는데 아래 내가 제출한 소스를 보면.. 모두 아..!!! 할 것이다..

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package Code_201608;

import java.util.Scanner;

public class PrintAdivisionB {

    @SuppressWarnings("resource")
    public static void main(String[] args) {
        // TODO Auto-generated method stub
  
        Scanner scan = new Scanner(System.in);
  
        //int a = 1;
        //int b = 3;
  
        int a = scan.nextInt();
        int b = scan.nextInt();
  
        double c = a / (double) b;
        System.out.println(c);
        //System.out.println(a + b);
    }

}//




어느정도 감이 오시리라 믿는다.. 왜냐면, 나도 감이 왔으니까.. ㅎㅎ 내가 오면 어지간한 분은 다 오실것이라고 본다..

최초 입력 값인 a, b 를 int 형으로 선언하였다 치더라도 실제 나누기 연산 후 출력이 되는 값인 c 를 double 로 선언 후에 그 안에서 a / (double) b 와 같이 double 형으로 b 를 캐스팅 하여주면, 원하는 값이 출력이 된다..

이것은 문제의 난이도보단 해당 문제를 접하였을 때 JAVA 에서의 자료형 타입에 대한 개념을 빨리 떠올리느냐가 관건이라고 생각이 된다..

댓글 없음:

댓글 쓰기