article thumbnail image
Published 2021. 11. 21. 16:36

# Mini-Max Sum (Warmup)

[문제]

 

 

[코드]

void miniMaxSum(vector<int> arr) {
    long sum = 0;
    for(int i = 0; i < arr.size(); i++)
        sum += arr[i];
    
    long max = 0;
    long min = sum;
    for(int i = 0; i < arr.size(); i++)
    {
        max = max > sum-arr[i] ? max : sum-arr[i];
        min = min < sum-arr[i] ? min : sum-arr[i]; 
    }
    cout << min << " " << max << endl;
}

 

 

[코드설명]

원소가 5개인 배열에서 4개의 합이 가장 작은 것과 가장 큰 것을 출력하는 문제다.

원소 5개의 sum을 구하고, 원소를 하나씩 뺀 값을 비교해가며 min과 max를 구했다.

 

min같은 경우 처음에 0으로 초기화했다가 값이 제대로 구해지지 않아 sum으로 초기화해주었다.

(원소 4개의 합으로 나올 수 있는 수보다 더 큰 수로 초기화)

반면 max는 0으로 초기화해주었다.

 

조건연산자를 사용해서 min과 max를 구하고 순서대로 출력했다.

 

 

[채점 결과]

 

 

 

 

 

'알고리즘' 카테고리의 다른 글

[BOJ] 2490: 윷놀이  (1) 2022.09.21
[BOJ] 10871: X보다 작은 수  (0) 2022.09.21
[HackerRank] Sherlock and Array  (0) 2021.11.21
[HackerRank] Plus Minus  (0) 2021.11.05
[HackerRank] Closest Numbers  (0) 2021.11.05
복사했습니다!