728x90
728x90
SMALL
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이
단순 최댓값, 최솟값 구하기 문제,, D3라고 생각하고 보니 어렵게 보였는데, 심플하게 생각해보니 잘 풀리네유
정렬해서 푸는 방법도 있지만, max_element, min_element를 이용해서 풀었다.
최댓값 구하기
int max = *max_element(v.begin(),v.end()) ;
최댓값 인덱스 구하기
int max_idx = min_element(v.begin(),v.end()) - v.begin();
최솟값은 그 반대~ 유용하게 쓰이니 잘 기억해두자
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
vector<int> arr(100);
int main() {
int test_case = 10;
for (int i = 0; i < test_case; i++) {
int dump; cin >> dump;
for (int j = 0; j < 100; j++) {
int tmp; cin >> tmp;
arr[j] = tmp;
}
for (int k = 0; k < dump; k++) {
int min_index = min_element(arr.begin(), arr.end()) - arr.begin(); // 최솟값 인덱스
int max_index = max_element(arr.begin(), arr.end()) - arr.begin(); // 최댓값 인덱스
// 평탄화
arr[max_index]--;
arr[min_index]++;
}
int max = *max_element(arr.begin(), arr.end()); // 최댓값
int min = *min_element(arr.begin(), arr.end()); // 최솟값
cout<<"#"<<i+1<<" " << max - min << endl;
}
return 0;
}
728x90
728x90
LIST
'Algorihtm > SWEA' 카테고리의 다른 글
C++ SWEA 2805. 농작물 수확하기 (1) | 2023.11.03 |
---|---|
C++ SWEA 3282. 0/1 Knapsack (0) | 2023.11.03 |
C++ SWEA 1206. [S/W 문제해결 기본] 1일차 - View (0) | 2023.11.01 |
C++ SWEA 1989. 초심자의 회문 검사 (1) | 2023.10.29 |
C++ SWEA 1984. 중간 평균값 구하기 (0) | 2023.10.29 |