๐จ ๋ฌธ์
๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/1448
- ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ: ์ํ, ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ, ์ ๋ ฌ
- ๋์ด๋: Silver 3
๐ฌ ํ์ด
์ธ ๋ณ์ด a,b,c์ธ ์ผ๊ฐํ์์ c๊ฐ ๊ฐ์ฅ ๊ธด ๋ณ์ผ ๋ ์ผ๊ฐํ์ด ๊ฒฐ์ ๋๋ ์กฐ๊ฑด์ c < a+b ๋ค.
๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ค ์ต๋๋ฅผ ๊ตฌํ๋ฉด ๋๋ฏ๋ก ์ ๋ ฅ๋ฐ์ ๋ฐฐ์ด์ ์ ๋ ฌํด์ค ๋ค์, ์ฐจ๋ก๋๋ก ์ ์ผ๊ฐํ ์ฑ๋ฆฝ ์กฐ๊ฑด์ด ๋๋ฉด ์ถ๋ ฅํ๊ณ ์ข ๋ฃํ๋ฉด ๋๋ค.
๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ์ํด์ sort()์ greater<>()๋ฅผ ์ด์ฉํ๋ค.
๐ฉ๐ป ์ฝ๋
C++
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
using namespace std;
bool isTriangle(int c, int a, int b) {
if (c < a + b) { return true; }
else { return false; }
}
int main() {
//freopen("input.txt", "rt", stdin);
int N;
cin >> N;
int* input = new int[N];
for (int i = 0; i < N; i++) {
cin >> input[i];
}
sort(input, input + N, greater<int>());
for (int i = 0; i < N-2; i++) {
int c, a, b;
c = input[i];
a = input[i + 1];
b = input[i + 2];
if (isTriangle(c, a, b)) {
cout << c + a + b;
return 0;
}
}
cout << -1;
delete[] input;
return 0;
}
'Coding Test > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค #11047. ๋์ 0 (C++) (0) | 2022.02.13 |
---|---|
[BOJ] ๋ฐฑ์ค #1251. ๋จ์ด ๋๋๊ธฐ (C++) (0) | 2022.02.13 |
[BOJ] ๋ฐฑ์ค #1010. ๋ค๋ฆฌ ๋๊ธฐ (C++) (0) | 2022.02.12 |
[BOJ] ๋ฐฑ์ค #1051. ์ซ์ ์ ์ฌ๊ฐํ (C++) (0) | 2022.02.12 |
[BOJ] ๋ฐฑ์ค #2078. ๋ฌดํ์ด์งํธ๋ฆฌ (C++) (0) | 2022.02.12 |