[백준 BOJ] 2420번 사파리월드 (C++/cpp)

2022. 9. 28. 11:56PS (Program Solving)/BOJ (백준)

문제 설명

https://www.acmicpc.net/problem/2420

 

2420번: 사파리월드

첫째 줄에 두 도메인의 유명도 N과 M이 주어진다. (-2,000,000,000 ≤ N, M ≤ 2,000,000,000)

www.acmicpc.net

백준 BOJ 2420번 사파리월드 문제 사진

 

접근 방법 - 큰 수에 대한 기본적인 연산 문제

백준의 2420번 문제는 큰 수에 대한 기본적인 사칙연산을 수행해야 하는 문제이다.

해당 문제는, 주어진 2개의 입력값 간 차이의 절댓값을 출력해야 하는 문제이다.

사칙연산만 수행하면 되는 문제이긴 하지만, 이 문제와 같은 경우엔 입력값의 범위를 고려하며 해결할 필요가 있다.

필자의 경우에는 cpp를 주요 언어로 사용하기 때문에 long long int형을 사용하여 입력을 받고 출력을 수행하였다.

아래에는 이 long long int형을 사용하는 것과 절댓값에 대하여 연산하는 방법이 있다.

혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 참고해보길 바란다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) long long int형으로 선언한 2개의 변수(a, b)에 대하여 입력을 받는다.

 

2) long long int형으로 선언한 sum 변수에 a와 b의 차이를 저장한다.

 

3) 만일 저장된 sum 값이 0 미만이라면, 절댓값 연산을 위하여 -1을 곱해 양수로 바꾸도록 한다.

 

4) 저장된 sum 값을 출력한 뒤, 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;

//백준 2420번 코드
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	long long int a, b;
	cin >> a >> b;

	long long int sum = a - b;
	if (sum < 0) { sum *= -1; }
	cout << sum << endl;
}

 

제출 결과

백준 BOJ 2420번 사파리월드 문제 C++ 제출 결과

(2022.06.09 백준 2420번 문제 제출 결과)

강의에서 진행했던 문제라 그런지 되게 복잡하네ㄷㄷ..

반응형