5κ°μ μ«μ [1, 5, 2, 6, 8]μ΄ μ£Όμ΄μ‘μ λ
μ΄ μ€ λ¨ νλμ μ«μλ§ λ λ°°λ‘ ν΄μ, μΈμ ν μ«μκ°μ μ°¨μ΄μ ν©μ΄ μ΅λκ° λλλ‘ ν΄λ³΄μΈμ.
μ λ¬Έμ λ λ¨μνκ², λͺ¨λ μμΉμ μ«μλ₯Ό 2λ°°μ© ν΄λ³΄λ μμ νμμ μ§νν΄ λ³Ό μ μμ΅λλ€.
1. 첫 λ²μ§Έ μ«μ 1μ 2λ°°λ₯Ό νλ κ²½μ°
[2, 5, 2, 6, 8]μ΄ λλ―λ‘, μΈμ ν μ«μκ°μ μ°¨μ΄μ ν©μ 3 + 3 + 4 + 2 = 12κ° λ©λλ€.
2. λ λ²μ§Έ μ«μ 5μ 2λ°°λ₯Ό νλ κ²½μ°
[1, 10, 2, 6, 8]μ΄ λ¨κ² λλ―λ‘, μΈμ ν μ«μκ°μ μ°¨μ΄μ ν©μ 9 + 8 + 4 + 2 = 23μ΄ λ©λλ€.
3. μΈ λ²μ§Έ μ«μ 2μ 2λ°°λ₯Ό νλ κ²½μ°
[1, 5, 4, 6, 8]μ΄ λ¨κ² λλ―λ‘, μΈμ ν μ«μκ°μ μ°¨μ΄μ ν©μ 4 + 1 + 2 + 2 = 9κ° λ©λλ€.
4. λ€ λ²μ§Έ μ«μ 6μ 2λ°°λ₯Ό νλ κ²½μ°
[1, 5, 2, 12, 8]μ΄ λ¨κ² λλ―λ‘, μΈμ ν μ«μκ°μ μ°¨μ΄μ ν©μ 4 + 3 + 10 + 4 = 21μ΄ λ©λλ€.
5. λ€μ― λ²μ§Έ μ«μ 8μ 2λ°°λ₯Ό νλ κ²½μ°
[1, 5, 2, 6, 16]μ΄ λ¨κ² λλ―λ‘, μΈμ ν μ«μκ°μ μ°¨μ΄μ ν©μ 4 + 3 + 4 + 10 = 21μ΄ λ©λλ€.
λ°λΌμ μ΅λλ 23μ΄ λ©λλ€.
μ΄μ²λΌ κ° μ리μ λν΄ μν©μ μΌμΌμ΄ κ°μ ν΄λ³΄κ³ μ§νν΄λ³΄λ μμ νμ λ°©λ²μ μ΄μ©νλ©΄, λ¬Έμ λ₯Ό κΉλνκ² ν΄κ²°ν μ μμ΅λλ€.
λ§μ½ μ΅λκ°μ ꡬνλ μμ νμ μ½λκ° μλ€κ³ κ°μ ν©μλ€.
κ·Έλ¬λ©΄ max_val κ°μ μ΄κΈ°κ°μ, λ€μ΄μ¬ μ μλ κ°λ€λ³΄λ€ ν¨μ¬ μμ κ°μΌλ‘ μ‘μμΌ ν©λλ€.
μ΄ κ²½μ°μ max_valμ 첫 λ²μ§Έ μμλ₯Ό μ΄κΈ°κ°μΌλ‘ λ£μ΄μ€ λ€ μ§ννλ λ°©λ²λ μμ§λ§,
μμ νμ μ νμμλ 첫 λ²μ§Έ μμ κ°μ ꡬνλ κ² μμ²΄κ° κ°λ¨νμ§ μκΈ° λλ¬Έμ, μ΄κΈ°κ°μΌλ‘ μμ£Ό μμ κ°μ μ‘μ μ£Όλ κ²μ΄ μ’μ΅λλ€.
μ΅λκ°μ ꡬν΄μ£Όλ κ²½μ°μλ λ€μκ³Ό κ°μ΄ #include <climits>λ₯Ό μΆκ°νμ¬ max_valμ INT_MIN κ°μ,
μ΅μκ°μ ꡬν΄μ£Όλ κ²½μ°μλ min_valμ INT_MAXλ₯Ό μ΄κΈ°κ°μΌλ‘ λ£μ΄μ£Όλ κ³Όμ μ΄ νμν©λλ€.
μ°μ΅λ¬Έμ : λͺ¨μ΄μ
nκ°μ μ§μ΄ x = 1μμ x = nκΉμ§ μμλλ‘ λμ¬μκ³ , κ°κ° λͺ μ μ¬λμ΄ μ΄κ³ μμ΅λλ€. μ΄λ€μ νμλ₯Ό μν΄ nκ°μ μ§ μ€ ν κ³³μ μ λΆ λͺ¨μ΄λ €κ³ ν©λλ€. μ μ ν μ§μ μ ννμ¬ λͺ¨λ μ¬λλ€μ μ΄λ 거리μ ν©μ΄ μ΅μκ° λλλ‘ νλ νλ‘κ·Έλ¨μ μμ±ν΄λ³΄μΈμ.
μ λ ₯ νμ
첫 λ²μ§Έ μ€μ nμ΄ μ£Όμ΄μ§λλ€.
λ λ²μ§Έ μ€μλ κ° μ§μ μ μ΄κ³ μλ μ¬λ μμ ν΄λΉνλ nκ°μ μ«μκ° κ³΅λ°±μ μ¬μ΄μ λκ³ μ£Όμ΄μ§λλ€.
- 1 ≤ n ≤ 100
- 1 ≤ ≤ 100
μΆλ ₯ νμ
κ°λ₯ν μ΄λ 거리μ ν© μ€ μ΅μκ°μ μΆλ ₯ν©λλ€.
λμ νμ΄
#include <iostream>
#include <climits>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
int people[101] = {0,};
cin>>n;
for(int i=0; i<n; ++i){
cin >> people[i];
}
int sum = 0;
int answer = INT_MAX;
for(int i=0; i<n; ++i){
sum = 0;
for(int j=0; j<n; ++j){
if(j==i) continue;
int d = abs(j-i);
sum += people[j]*d;
}
if(answer > sum) answer = sum;
}
cout << answer;
return 0;
}
μνμμ min / max μ μΈμμλ μ μκ°μ μ΅λ/μ΅μλ₯Ό λ£μ΄λλ κ±Έ μμ§λ§μ!
'π μκ³ λ¦¬μ¦ > Code Tree' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ½λνΈλ¦¬] BFS νμ / κ° μ μλ κ³³λ€ (0) | 2023.02.22 |
---|---|
[μ½λνΈλ¦¬] BFS νμ / λ€ λ°©ν₯ νμΆ κ°λ₯ μ¬λΆ νλ³νκΈ° (0) | 2023.02.22 |
[μ½λνΈλ¦¬] Greedy - 그리λ μκ³ λ¦¬μ¦ / λμ μ°μ΅λ¬Έμ (0) | 2023.02.22 |
[μ½λνΈλ¦¬] Backtracking - λ°±νΈλνΉ / μ¬κ· μ°μ΅λ¬Έμ (0) | 2023.02.21 |
[μ½λνΈλ¦¬] DFS / BFS (0) | 2023.02.21 |