문제

백준 2420번 사파리월드

해결 과정

간단한 조건 문제이다. 을 입력받아 을 출력하면 된다.

이때 의 범위가 이므로 이다. 따라서 int 자료형으로는 범위를 벗어나므로 long long 자료형을 사용해야 한다.

예시 답안

풀이 1 - 조건문

문제에 제시한 대로 보다 크면 , 작으면 을 출력하면 된다.

C++ 코드

#include <iostream>
using namespace std;
 
int main() {
  long long N, M;
  cin >> N >> M;
 
  if (N > M) cout << N - M;
  else cout << M - N;
  return 0;
}

풀이 2 - 삼항 연산자

삼항 연산자를 사용하면 더 간단하게 표현할 수 있다.

C++ 코드

#include <iostream>
using namespace std;
 
int main() {
  long long N, M;
  cin >> N >> M;
 
  cout << (N > M ? N - M : M - N);
  return 0;
}

풀이 3 - abs 함수

cmath 헤더에 있는 abs 함수를 사용하면 더 간단하게 표현할 수 있다.

Baekjoon/02xxx/02420.cpp
#include <cmath>
#include <iostream>
using namespace std;
 
int main() {
  long long N, M;
  cin >> N >> M;
 
  cout << abs(N - M);
  return 0;
}

문제 풀이 팁

int 자료형은 의 범위를 가진다. 로 기억하면 편하다.

long long 자료형은 의 범위를 가진다. 로 기억하면 편하다.

조건문을 사용할 때 elseif에 대한 조건을 제외한 나머지 조건을 검사한다. 이를 이용하면 조건문을 간단하게 표현할 수 있다.

삼항 연산자는 condition ? true : false의 형태를 가진다. condition이 참이면 true의 결과가, 거짓이면 false의 결과가 반환된다.

추가 학습 자료