프로그래밍/알고리즘

백준 알고리즘 2420번 : 사파리월드 (C++, JAVA)

김민쏭 2019. 10. 21. 23:15

 

자료형에서 헤매다가 4번이나 틀려버렸다. 그냥 절대값 구하는 것인데...

long long 이라는 나한테는 굉장히 낯선 자료형을 써야하는가보다.

자료형은 참 기본중에 기본인데, 쓰던 것만 익숙하게 쓰고 잘 안쓰고 안보이는건 생각이 잘 안난다.

 

사실 문제에서 주어진 수의 범위만봐도 자료형에 관한 것이 포인트일 것 같긴 했다.

 

C++

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
 
int main() {
    
    // https://www.acmicpc.net/problem/2420
    
    long long n,m;
    
    cin >> n >> m;
    
    long long res;
    
    if(n > m) {
        res = n - m;
    }else// m > n
        res = -+ m;
    }
    
    cout << res;
    
}
cs

 

배움에 의의를 두어...

 

JAVA

C++에도 절대값 구하는 abs 함수가 있는걸로 아는데, 구현은 쌩코딩으로 했으니

JAVA에서는 제공되는 메서드를 사용하여 풀었다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package java_algorithm;
 
import java.util.Scanner;
 
public class Baekjoon_2420 {
 
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        long n = sc.nextLong();
        long m = sc.nextLong();
        
        long res;
        
        res = Math.abs(n-m);
        
        System.out.println(res);
    }
    
}
 
cs