-
[백준] 빗물Study/Coding Test 2021. 10. 23. 00:11
https://www.acmicpc.net/problem/1662
1662번: 압축
압축되지 않은 문자열 S가 주어졌을 때, 이 문자열중 어떤 부분 문자열은 K(Q)와 같이 압축 할 수 있다. K는 한자리 정수이고, Q는 0자리 이상의 문자열이다. 이 Q라는 문자열이 K번 반복된다는 뜻이
www.acmicpc.net
아직 부족하다고 많이 느끼게 해준 문제...
간단해보이지만 바로 로직이 생각나지 않았다.
#define _CRT_SECURE_NO_DEPRECATE #include <iostream> #include <cstdio> #include <vector> #include <algorithm> #include <cstring> using namespace std; int H, W; int answer; vector<int> v; void input() { cin >> H >> W; for (int i = 0; i < W; i++) { int n; cin >> n; v.push_back(n); } } void solve() { for (int i = 1; i < W-1; i++) { int left = 0; int right = 0; //왼쪽 최대값. for (int j = 0; j < i; j++) { left = max(left, v[j]); } //오른쪽 최대값 for (int j = i + 1; j < W; j++) { right = max(right, v[j]); } int rain = min(left, right) - v[i]; if (rain < 0) rain = 0; answer += rain; } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); //freopen("input.txt", "r", stdin); input(); solve(); cout << answer << endl; return 0; }
'Study > Coding Test' 카테고리의 다른 글
[Time Complexity] PermMissingElem (0) 2022.07.30 [백준] 경사로 (0) 2021.10.22 [백준] 스타트 택시 (0) 2021.10.22 [백준] 로봇 청소기 (0) 2021.10.21 [백준] 사다리 조작 (0) 2021.10.21