개발일지

[백준 JAVA] 1000번: A+B / 1001번: A-B / 10998번:AxB / 1008번: A/B 본문

Java/알고리즘 공부

[백준 JAVA] 1000번: A+B / 1001번: A-B / 10998번:AxB / 1008번: A/B

O'mil 2022. 12. 18. 18:25
728x90

# 1000번: A+B

문제


문제 풀이

- Scanner를 사용해서 문제를 풀었다.

 

Scanner 사용법
import java.util.Scanner;

- import java.util.*;

java.util에 들어있는 모든 패키지를 import 하는 것이다.

 

- Scanner 또한 java.util에 들어있는 패키지 이므로 위 코드를 사용해 import 해준다.

 

 

Scanner in = new Scanner(System.in);

- Scanner 객체명 = new Scanner(System.in);

형식으로 작성하면 된다.

+)System.in 은 입력한 값을 Byte 단위로 읽는 것을 뜻한다.

 

+) 객체명에는 어느 것을 써도 상관이 없지만 다른 사람의 코드를 봤을 때 읽기 편하도록 트렌드에 맞게 써주는 것을 추천한다고 한다.

 

 

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

- 정수 A, B를 입력 받으므로 자료형을 Int형으로 입력해 준다.

String 문자열_space = in.next();
Stirng 문자열_Enter = in.nextLine();

boolean 부울 = in.nextBloolean();

byte 바이트 = in.nextByte();
short 쇼트 = in.nextShort();
int 정수 = in.nextInt();
long 롱 = in.nextLong();

double 더블형 = in.nextDouble();
float 플롯 = in.nextFloat();

- 입력한 데이터가 변수 자료형에 위반되면

<Exception in thread "main: java.util.InputMismatchException>

이라는 에러가 뜬다.

- in.nextInt()에 자료형 범위를 넘어가는 수를 입력하거나 문자를 입력하는 경우

- in.nextBoolean()에 True, False 같은 boolean 자료형 외의 문자, 숫자를 입력하는 경우

 

 

- in.next(): 문자열 입력시 공백 전까지만 받음

- in.nextLine(): 문자열 입력시 Enter 입력 전까지만 받음

+) next()의 경우 에러가 발생할 수 있는 경우가 많아 대부분의 문제에서는 행 단위로 입력받는 일이 다수이니 문자열 형태로는 in.nextLine()을 쓴다고 한다.

 

in.close();

-close 쓰는 이유

scanner = new Scanner(System.in); -> 프로세스 표준 입력을 가지고 옴.

 

Scanner 객체는 OS 에서 제공한 표준 입력을 계속 잡고 있게 되죠.

사용을 끝냈으니 이걸 해제해서 되돌려 준 것이다.

 


# 1001번: A-B

문제


문제 풀이

 


# 10998번:AxB

문제


문제 풀이


# 1008번: A/B

문제

 


문제 풀이

- 문제를 보면 상대오차가 10^-9여야 한다고 나와있다.

- 오차 범위를 벗어나지 않게 하기 위해 꼭!! double형으로 출력을 해줘야 한다.


- 처음에 Int형으로 선언 받았다가 문제를 틀렸다.

- Int형으로 선언을 받을 경우 나누어 떨어지는 수는 상관이 없지만 오른쪽과 같이 나누어 떨어지지 않는 경우 값이 달라질 수 있다.

 

 

 

 

 


참고)

https://st-lab.tistory.com/12

https://okky.kr/articles/775363

https://st-lab.tistory.com/17

 

 

 

 

 

 

 

 

 

 

 

728x90
Comments