๋ฌธ์
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
ํ์ด
๊ฑด๋ฌผ์ ์ผ์ชฝ์์ 3๋ฒ์งธ ์นธ๋ถํฐ ์ค๋ฅธ์ชฝ์์ 3๋ฒ์งธ ์นธ๊น์ง ์กด์ฌํ๋ค.
์กฐ๋ง๊ถ์ด ํ๋ณด๋ ์ธ๋๋ ์ผ์ชฝ 2์นธ, ์ค๋ฅธ์ชฝ 2์นธ์ ๋ค๋ฅธ ์ธ๋๊ฐ ์์ด์ผ ํ๋ค. ์ฆ, ์ผ์ชฝ 2์นธ, ์ค๋ฅธ์ชฝ 2์นธ์ ์๋ ๊ฑด๋ฌผ๋ณด๋ค ๋์ผ๋ฉด ์กฐ๋ง๊ถ์ด ํ๋ณด๋ ์ธ๋๊ฐ ์กด์ฌํ๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค.
1. ์ผ์ชฝ์์ 3๋ฒ์งธ ๊ฑด๋ฌผ๋ถํฐ ์ค๋ฅธ์ชฝ์์ 3๋ฒ์งธ ๊ฑด๋ฌผ๊น์ง ํ์ํ๋ค.
=> i์ ๋ฒ์๋ 2 ~ n-3์ด๋ค.
2. ํ์ฌ ํ์ํ๋ ๊ฑด๋ฌผ์ด ์ผ์ชฝ์ ๋ ๊ฑด๋ฌผ๊ณผ ์ค๋ฅธ์ชฝ์ ๋ ๊ฑด๋ฌผ๋ณด๋ค ๋์ผ๋ฉด ์กฐ๋ง๊ถ์ด ํ๋ณด๋ ์ธ๋๊ฐ ์กด์ฌํ๋ค.
=> ํ์ฌ ํ์ํ๋ ๊ฑด๋ฌผ i์ i-2, i-1, i+1, i+2๋ฒ์งธ ๊ฑด๋ฌผ์ ๋น๊ตํ๋ค.
3. ํ์ฌ ํ์ํ๋ ๊ฑด๋ฌผ์์ ์กฐ๋ง๊ถ์ด ํ๋ณด๋ ์ธ๋์ ๊ฐ์๋ฅผ ๊ณ์ฐํ๋ค.
=> i๋ฒ์งธ ๊ฑด๋ฌผ์ ๋์ด - ์ ์ 4๊ฐ์ ๊ฑด๋ฌผ ์ค ๊ฐ์ฅ ๋์ ๊ฑด๋ฌผ์ ๋์ด
์ฝ๋
#include<iostream>
#include<vector>
using namespace std;
int main() {
int T = 10;
for (int test_case = 1; test_case <= T; ++test_case) {
int n, ans = 0;
// ์
๋ ฅ
cin >> n;
vector<int> building(n, 0);
for (int &i: building)
cin >> i;
// ์ฐ์ฐ
for (int i = 2; i < n - 2; i++) {
int max_building = max(max(building[i + 1], building[i + 2]), max(building[i - 1], building[i - 2]));
if (building[i] > max_building)
ans += building[i] - max_building;
}
// ์ถ๋ ฅ
cout << '#' << test_case << ' ' << ans << '\n';
}
return 0;
}
'๐ญ Problem Solving > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 1212๋ฒ: 8์ง์ 2์ง์ (0) | 2024.05.24 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 9184๋ฒ: ์ ๋๋ ํจ์ ์คํ (0) | 2024.05.12 |
[SWEA][C++] 1209. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - Sum (0) | 2024.05.06 |
[SWEA][C++] 2805. ๋์๋ฌผ ์ํํ๊ธฐ (0) | 2024.05.05 |
[SWEA][C++] 1208. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - Flatten (0) | 2024.04.27 |