문제 URL : https://www.acmicpc.net/problem/2997
2997번: 네 번째 수
첫째 줄에 상근이가 고른 네 개의 숫자 중 세 개가 주어진다. 이 숫자는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.
www.acmicpc.net
문제 접근법 : 기본적인 수열부분인 수학개념만 알면 풀수있는 문제입니다.
3개의 수를 정렬하여 두개의 공차를 v1-v0=d1 이라하고 v2-v1= d2라 할때
이것의 크기를 비교하여 작은수를 그사이에 집어넣으면 됩니다.
만약 같다면 자기가 원하는 위치에 맨왼쪽에 넣을경우 공차를 빼면되고
오른쪽에 넣으면 맨오른쪽 값에 공차를 넣어서 만들면 그만인 문제라 쉬운문제입니다.
소스코드 :
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
32
33
34
|
#include <algorithm>
#include <vector>
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int n;
vector<int> v(3);
void input() {
cin >> v[0] >> v[1] >> v[2];
}
void solve() {
sort(v.begin(), v.end());
int d1 = v[1] - v[0];
int d2 = v[2] - v[1];
if (d1 > d2) {
cout << v[0] + d2 << "\n";
}
else if (d1 < d2) {
cout << v[1] + d1 << "\n";
}
else {
cout << v[2] + d1 << "\n";
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
input();
solve();
}
|
cs |
궁금한점 혹은 모르는점 어떤 댓글이든 환영입니다.
'백준' 카테고리의 다른 글
백준 16958 텔레포트 (0) | 2021.06.17 |
---|---|
백준 2966 찍기 (0) | 2021.06.17 |
백준 11003 최솟값 찾기 (0) | 2021.05.27 |
백준 20166 문자열 지옥에 빠진 호석 (0) | 2021.05.25 |
백준 2539 모자이크 (0) | 2021.05.20 |