Algorithm/SWEA
[ SWEA ] 1206. View D3 C++
_cpdm_
2022. 8. 30. 11:16
반응형
문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
아이디어
기준이 되는 건물의 위치를 Y라고 가정하면,
Y-1, Y-2, Y+1, Y+2 위치 중 가장 높은 건물의 높이보다 Y위치의 건물이 더 높을 때
그 차이를 세대수의 합에 더해준다.
코드
#include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
for (int t = 1; t <= 10; ++t) {
int N;
cin >> N;
int* arr = new int[N];
for (int i = 0; i < N; ++i) {
cin >> arr[i];
}
int answer(0);
for (int i = 2; i < N - 2; ++i) {
int max_height = max(arr[i - 2], max(arr[i - 1], max(arr[i + 1], arr[i + 2])));
if (arr[i] - max_height > 0) {
answer += arr[i] - max_height;
}
}
cout << '#' << t << ' ' << answer << '\n';
delete[] arr;
}
return 0;
}
cpdm
choppadontbiteme.tistory.com
반응형