-
[백준/BOJ] 2420번 : 사파리월드 (JAVA / 자바)백준 2022. 1. 23. 16:54
안녕하세요~ 코딩하는 코알못 코메인입니다.
https://www.acmicpc.net/problem/2420
- 문제 -
난이도 브론즈 4 문제이다.
자바에서 입력방식은 scanner와 bufferedreader가 있다.
자바를 초반에 접하면 처음에 배우는 입력은 scanner이다. scanner가 bufferedreader보다 편하지만 속도가 느리다.
bufferedreader는 무조건 문자열로 받아오기때문에 정수형이나 실수형 변수에 저장하기 위해서는 입력과 형변환을 해줘야합니다.
더 자세한 내용은 아래 글 참고 하면 좋습니다.
풀이 방법
주의할 점부터 보면 A와 B의 범위다. 연산 결과 int보다 훨씬 넘어서게 된다. 그러니 정수 형을 long으로 한다.
이번 문제는 음수를 양수로 바꾸는 것이다. 단순히 생각해 -1을 곱해버리면 양수가 음수가 되어버린다.
물론 -1 곱하는 걸로 방법은 있다. if로 조건문을 걸고 결과가 양수일 경우 그대로 출력 음수일 경우 -1을 곱하고 출력하면 된다. 하지만 우리한텐 math라는 좋은 클래스가 있는데 굳이 그렇게 나열할 필요가 없다.
그러니 여기선 math.abs()를 이용해보겠다. 하지만 만약 문제가 음수 양수 반전이면 이걸 쓰지 말고 -1을 곱해야 할 것이다.
-풀이-
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); Long N = Long.parseLong(st.nextToken()); Long M = Long.parseLong(st.nextToken()); System.out.println(Math.abs(N - M)); } }
-결과-
아직 코딩 공부가 부족한 필자라 설명과 풀이 방법이 많이 미흡할 수 있다. 코딩 고수들은 보시고 문제점이 있다면 댓글로 말해주시면 감사한 마음으로 참고 수정 하겠다.
'백준' 카테고리의 다른 글
[백준/BOJ] 2525번 : 오븐 시계 (JAVA / 자바) (0) 2022.01.23 [백준/BOJ] 2480번 : 주사위 세개 (JAVA / 자바) (0) 2022.01.23 [백준/BOJ] 1712번 : 손익분기점 (JAVA / 자바) (0) 2022.01.23 [백준/BOJ] 1330번 : 두 수 비교하기 (JAVA / 자바) (0) 2022.01.23 [백준/BOJ] 1297번 : TV 크기 (JAVA / 자바) (0) 2022.01.23