[java] 백준 2420번 사파리월드
이 문제 같은 경우 나는 문제 내용을 이해하지 못했다...
문제의 요점은 두 서브도메인을 합칠 때, 유명도의 차이가 너무 차이나지 않을 경우에만 두 서브도메인을 결혼시키는 것
인데... 그래서 어쩌라는건지... 출력을 보고 알았다. 절대값을 구하라는 것 (ㅣN-Mㅣ)을 출력하라는 것.
간단하다. Math.abs 함수를 쓰면 절대값을 쉽게 구할 수 있다.
백준 사이트에서는 예제에 나오는 입력값 말고도
극한의 상황을 만들기 위해 입력에 주어진 (-2,000,000,000 ≤ N, M ≤ 2,000,000,000)을 입력값으로 넣어버리는 경우가 있기 때문에 BigInteger 클래스를 썼다.
BigInteger 클래스를 쓴 알고리즘 문제는 여기서도 볼 수 있다. 설명도 함께 달아놨으니 BigInteger 클래스를 모르신 분들은 보고오셔도 좋다.
[java] 백준 10757번 큰 수 A+B
import java.math.BigInteger; import java.util.Scanner; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); BigInteger A = sc.nextBigInteger(); BigInteger B =..
begin-dev-awos.tistory.com
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이 된다.