반응형
문제
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
반응형
'Algorithm > SWEA' 카테고리의 다른 글
[ SWEA ] 10726. 이진수 표현 D3 C++ (0) | 2022.09.06 |
---|---|
[ SWEA ] 1221. GNS D3 C++ (0) | 2022.08.30 |
[ SWEA ] 1210. Ladder1 D4 (JAVA) (0) | 2021.08.08 |
[ SWEA ] 3234 준환이의 양팔저울 D4 (JAVA) (0) | 2021.08.08 |
[ SWEA ] 2115. 벌꿀 채취 모의 (JAVA) (0) | 2021.04.22 |