본문 바로가기
백준

백준 2997 네 번째 수

by 콩순이냉장고 2021. 6. 17.

문제 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