Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

코딩로그

[백준/BOJ/C++] 2997번 네 번째 수 본문

YJ/C++

[백준/BOJ/C++] 2997번 네 번째 수

Team DAON 2021. 10. 15. 16:02

[문제]

상근이는 등차수열을 이루는 정수 4개를 골랐다. 이것은 상근이가 고른 수 4개를 정렬했을 때, 인접한 쌍의 차이가 일정하다는 것을 의미한다. 그 다음 이렇게 고른 수 4개를 노래로 만들어서 외우고 다닌다.

어느 날, 상근이는 자신이 고른 4개 수 중 1개를 까먹었다. 상근이가 기억하고 있는 수 세 개가 주어졌을 때, 까먹은 수를 구하는 프로그램을 작성하시오.

 

[입력]

첫째 줄에 상근이가 고른 4개의 수 중 3개가 주어진다. 이 수는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.

 

[출력]

첫째 줄에 까먹은 수를 출력한다. 정답이 여러 개일 경우에는 아무거나 출력하면 된다. 또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다.

 

[Source Code]

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;

int main() {
	int arr[3];
	for(int i = 0; i < 3; i++){
		int input;
		cin >> input;
		arr[i] = input;
	}

	sort(arr, arr+3);

	if(arr[1] - arr[0] < arr[2] - arr[1])
		cout << arr[1] + (arr[1] - arr[0]);
	else if(arr[1] - arr[0] > arr[2] - arr[1])
		cout << arr[0] + (arr[2] - arr[1]);
	else
		cout << arr[2] + (arr[1] - arr[0]);



}

[결과 화면]