싸피 코테를 준비하려고 SWEA 문제를 풀어봤다.
첫문제로 골랐는데 이상하게 시간을 많이 썼다.
#include <iostream>
#include <algorithm>
int price[1000001] = {0, };
int sol(int n) {
long long sum = 0;
int max = price[0];
for (int i = 0; i < n; i++) {
if (price[i] == max) {
max = *std::max_element(price + i + 1, price + n);
}
if (max - price[i] > 0) {
sum += max - price[i];
}
}
return sum;
}
void init(int n) {
for (int i = 0; i < n; i++) {
price[i] = 0;
}
}
int main() {
int tc = 0;
std::cin >> tc;
for (int i = 0; i < tc; i++) {
int n = 0;
std::cin >> n;
init(n);
for (int j = 0; j < n; j++) {
std::cin >> price[j];
}
std::cout << "#" << i + 1 << " " << sol(n) << "\n";
}
return 0;
}
가격 배열을 처음부터 순회하며 자기 다음 인덱스 부터 끝까지 가격 중 최댓값을 찾는다.
최댓값과 현재 인덱스의 가격이 같다면 최댓값을 갱신한다.
'PS > SWEA' 카테고리의 다른 글
SWEA 1215 : [S/W 문제해결 기본] 3일차 - 회문1 [C++] (0) | 2023.01.13 |
---|---|
SWEA 1206 : [S/W 문제해결 기본] 1일차 - View [C++] (0) | 2022.11.17 |
SWEA 1926 : 간단한 369게임 (0) | 2022.11.17 |
SWEA 1954 : 달팽이 숫자 [C++] (0) | 2022.11.17 |
SWEA 1204 : [S/W 문제해결 기본] 1일차 - 최빈수 구하기 [C++] (0) | 2022.11.17 |