๐Ÿ’œ๊ฐœ๋ฐœ๊ณผ ์ผ์ƒ (โ‰ง∇โ‰ฆ)๏พ‰

[๋ฐฑ์ค€ c++] 2798 ๋ธ”๋ž™์žญ 2ํŠธ (๋ธ”2) ๋ณธ๋ฌธ

CS/๋ฐฑ์ค€

[๋ฐฑ์ค€ c++] 2798 ๋ธ”๋ž™์žญ 2ํŠธ (๋ธ”2)

๊ฐ•์˜์„œ 2023. 2. 24. 16:41

๐Ÿ“Œ ๋ฌธ์ œ

์นด๋“œ์˜ ๊ฐœ์ˆ˜ N, M

๋‘˜์งธ์ค„ ๋ถ€ํ„ฐ๋Š” ์นด๋“œ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜, ( 10๋งŒ์„ ๋„˜์ง€ ์•Š์Œ )

ํ•ฉ์ด M์„ ๋„˜์ง€ ์•Š๋Š” ์นด๋“œ 3์žฅ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ.

 

๋งŒ์•ฝ ์นด๋“œ๋ฅผ 3์žฅ ์ด์ƒ์ด๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์นด๋“œ ์žฅ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๊ฒฝ์šฐ๋Š”, ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„์„ ํ•ด์•ผํ•˜์ง€๋งŒ

3์žฅ์ด๋ผ ์ถฉ๋ถ„ํžˆ ์‚ผ์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด์„œ 3๊ฐ€์ง€๋ฅผ ๊ณ ๋ฅธ ํ›„ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ธŒ๋ฃจํŠธ ํฌ์Šค๋กœ ์ถฉ๋ถ„ํžˆ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ

 

๋ฐ˜๋ณต๋ฌธ์„ ์“ธ ๋•Œ ๋ ๊ฐ’์ด๋‚˜ ์ดˆ๋ฐ˜ ๊ฐ’์ด index๊ฐ€ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋„๋ก๋งŒ ์ฃผ์˜ํ•˜๋ฉด ๋œ๋‹ค.

 

 

๐Ÿ’ป ์ •๋‹ต ์ฝ”๋“œ

#include <iostream>
using namespace std;

int main() {

	int N; cin >> N; if (N < 3 || N > 100) return 0;
	int M; cin >> M; if (M < 10 || M > 300000) return 0;

	int* num = new int[N];
	for (int i = 0; i < N; i++) cin >> num[i];
	//์ˆซ์ž ์ž…๋ ฅ์นธ

	int min = 9999999999;
	int result;

	for (int i = 0; i < N - 2; i++) {
		for (int j = i + 1; j < N - 1; j++) {
			for (int k = j + 1; k < N; k++) {
				int sum = num[i] + num[j] + num[k];
				int dis = M - sum;
				if (dis >= 0 && dis < min) {
					min = dis;
					result = sum;
                    if(result == M){
                        cout <<result << endl;
                        return 0;
                    }
				}

			}
		}
	}

	cout << result << endl;

	return 0;
}