๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/1448)
< ์ผ๊ฐํ ๋ง๋ค๊ธฐ >
๋ฌธ์ ํ์ด
์ผ๊ฐํ์ ๋ง๋ค ์ ์๋ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ๋ค.
๐ฑ ์ผ๊ฐํ ๋ง๋๋ ์กฐ๊ฑด
๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด < ๋๋จธ์ง ๋ ๋ณ์ ๊ธธ์ด ํฉ
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
public class _1448_ { // ์ผ๊ฐํ ๋ง๋ค๊ธฐ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
Integer arr[] = new Integer[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(bf.readLine());
}
Arrays.sort(arr, Collections.reverseOrder());
boolean flag = false;
for (int i = 0; i < n - 2; i++) {
if (arr[i] < arr[i + 1] + arr[i + 2]) {
System.out.println(arr[i] + arr[i + 1] + arr[i + 2]);
flag = true;
break;
}
}
if (!flag) {
System.out.println(-1);
}
}
}
Main
๋ณ์)
n : ๋นจ๋ ๊ฐ์
arr : ๋นจ๋์ ๊ธธ์ด
flag : ์ผ๊ฐํ ๋ง๋ค ์ ์๋์ง ํ์ธ
์ผ๊ฐํ ์ธ ๋ณ์ ๊ธธ์ด์ ํฉ์ ์ต๋๊ฐ์ ์ฐพ๋ ๊ฒ์ด๋ฏ๋ก ๋นจ๋์ ๊ธธ์ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. ๊ทธ ํ ๋ฐฐ์ด์ 3๊ฐ์ฉ ํ์ํ๋ฉฐ ๊ฐ์ฅ ํฐ ๊ฐ์ด ๋๋จธ์ง ๋ ๊ฐ์ ํฉ๋ณด๋ค ์์์ง ํ์ธ ํ ์กฐ๊ฑด์ ๋ง๋ ๊ฐ์ ์ดํฉ์ ์ถ๋ ฅํ๋ค. ์กฐ๊ฑด์ ๋ง๋ ๊ฐ์ด ํ๋๋ ์๋ค๋ฉด -1์ ์ถ๋ ฅํ๋ค.
๐ฑ ํ๋ฆฐ ์ด์
์ฒ์์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ 3์ค for๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ํ๋ค. ํ์ง๋ง ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ธฐ ๋๋ฌธ์ ๋ง์ฝ a < b+c๊ฐ ์ฑ๋ฆฝํ์ง ์๋๋ค๋ฉด ๋ค์ ๊ฐ์ ํ์ธํด๋ a < b+c๊ฐ ์ฑ๋ฆฝ๋ ์ ์๋ค. ๊ทธ๋์ 3์ค for๋ฌธ ๋์ for๋ฌธ ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ํ์ธํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 5212_์ง๊ตฌ ์จ๋ํ (1) | 2023.11.22 |
---|---|
[Baekjoon] 18429_๊ทผ์์ค (0) | 2023.11.21 |
[Baekjoon] 13305_์ฃผ์ ์ (0) | 2023.11.17 |
[Baekjoon] 6550_๋ถ๋ถ ๋ฌธ์์ด (0) | 2023.11.16 |
[Baekjoon] 3135_๋ผ๋์ค (1) | 2023.11.15 |