๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Coding Test/๋ฐฑ์ค€(BOJ)

[BOJ] ๋ฐฑ์ค€ #1448. ์‚ผ๊ฐํ˜• ๋งŒ๋“ค๊ธฐ (C++)

๐ŸŽจ ๋ฌธ์ œ

๋ฌธ์ œ ๋งํฌ: 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;
}