728x90
๐ ๋ฌธ์ ๋งํฌ
๐ ๋ถ๋ฅ
์์ด
๊ตฌํ
๐ก ํ์ด
์ด ๋ฌธ์ ๋ ํ์ด ๋ฐฉ์์ด ์ฌ๋ฌ ๊ฐ์ง ์กด์ฌํ ๊ฒ ๊ฐ์๋ฐ ๋๋ ์์ด์ ํตํด ํ์๋ค.
์ฐ์ฐ์ ๊ฐ์๋ฅผ ์
๋ ฅ ๋ฐ์ผ๋ฉด์ op
๋ผ๋ vector์ ์ฐ์ฐ์ ๊ฐ์๋งํผ ์๋์ ๊ฐ์ด ์ฐ์ฐ์๋ฅผ ์ ์ฅํ๋ค.
์ฐ์ฐ์๊ฐ +์ผ ๊ฒฝ์ฐ 0
์ฐ์ฐ์๊ฐ -์ผ ๊ฒฝ์ฐ 1
์ฐ์ฐ์๊ฐ *์ผ ๊ฒฝ์ฐ 2
์ฐ์ฐ์๊ฐ /์ผ ๊ฒฝ์ฐ 3
์ ์ฅ์ ํ ํ next_permutation
ํจ์๋ฅผ ์ด์ฉํด ์์ด์ ๊ตฌํ๊ณ ์ฐ์ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์์ด ์ฐจ๋ก๋๋ก ์ฐ์ฐ์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ max
, min
๊ฐ์ ๊ตฌํ๋ค.
๐ป ์ฝ๋
//
// 14888.cpp
// test
//
// Created by ์ฃผ์ฑํธ on 2022/01/26.
// Copyright © 2022 ์ฃผ์ฑํธ. All rights reserved.
//
#include <bits/stdc++.h>
using namespace std;
vector<int> num, numberOfOperator(4);
vector<int> op;
void insertOperator(int n, int c) {
for (int i = 0; i < n; i++) {
op.push_back(c);
}
}
void inputData() {
int N;
cin >> N;
num.reserve(N);
while (N--) {
int n;
cin >> n;
num.push_back(n);
}
for (int i = 0; i < 4; i++) {
cin >> numberOfOperator[i];
insertOperator(numberOfOperator[i], i);
}
}
int main() {
inputData();
int max_value = -INT_MAX, min_value = INT_MAX;
do {
int temp = num[0];
for (int i = 1; i < num.size(); i++) {
if (op[i - 1] == 0) {
temp += num[i];
} else if (op[i - 1] == 1) {
temp -= num[i];
} else if (op[i - 1] == 2) {
temp *= num[i];
} else {
temp /= num[i];
}
}
max_value = max(max_value, temp);
min_value = min(min_value, temp);
} while (next_permutation(op.begin(), op.end()));
cout << max_value << "\n" << min_value << '\n';
return 0;
}
728x90
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA ํ์ด] ๋ฐฑ์ค(BOJ)9093 - ๋จ์ด ๋ค์ง๊ธฐ (0) | 2022.03.24 |
---|