[java] 백준 2420번 사파리월드알고리즘/백준2021. 7. 25. 15:33
Table of Contents
이 문제 같은 경우 나는 문제 내용을 이해하지 못했다...
문제의 요점은 두 서브도메인을 합칠 때, 유명도의 차이가 너무 차이나지 않을 경우에만 두 서브도메인을 결혼시키는 것
인데... 그래서 어쩌라는건지... 출력을 보고 알았다. 절대값을 구하라는 것 (ㅣN-Mㅣ)을 출력하라는 것.
간단하다. Math.abs 함수를 쓰면 절대값을 쉽게 구할 수 있다.
백준 사이트에서는 예제에 나오는 입력값 말고도
극한의 상황을 만들기 위해 입력에 주어진 (-2,000,000,000 ≤ N, M ≤ 2,000,000,000)을 입력값으로 넣어버리는 경우가 있기 때문에 BigInteger 클래스를 썼다.
BigInteger 클래스를 쓴 알고리즘 문제는 여기서도 볼 수 있다. 설명도 함께 달아놨으니 BigInteger 클래스를 모르신 분들은 보고오셔도 좋다.
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger N = sc.nextBigInteger();
BigInteger M = sc.nextBigInteger();
BigInteger result = N.subtract(M).abs();
System.out.println(result);
}
}
여기서 우리가 봐야될 것은 N.subtract(M).abs() 이 부분이다.
BigInteger 클래스에서 지원하는 함수중에 subtract라는 함수가 있다. 말 그대로 '빼기(차)'이다.
N에 -2라는 수가 입력, M에 5라는 수가 입력 되었기 때문에 -2 - 5를 하라는 함수이다.
그리고 뒤에 abs()라는 함수를 써주게 되면 -2 - 5 결과값은 -7이 되지만 절대값으로 변하기 때문에 결과 출력이 7이 된다.
'알고리즘 > 백준' 카테고리의 다른 글
[java] 백준 10773번 제로 (6) | 2021.07.27 |
---|---|
[java] 백준 2440번, 2441번 별 찍기 - 3~4 (0) | 2021.07.26 |
[java] 백준 2581번 소수 (0) | 2021.07.25 |
[java] 백준 11653번 소인수분해 (9) | 2021.07.24 |
[java] 백준 4153번 직각삼각형 (2) | 2021.07.23 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊