Recent Posts
Notice
No Rules Rules
탑 (feat. 백준, 2493번) 본문
728x90
반응형
탑
https://www.acmicpc.net/problem/2493
반응형
// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <stack>
#include <algorithm>
using namespace std;
int main(){
ios::sync_with_stdio(false), cin.tie(NULL);
register int N, i;
stack<pair<int, int>> ans;
cin >> N;
for(register int n = 0, v; n < N; ++n){
cin >> v;
while(!ans.empty()){
if(v <= ans.top().second){
cout << ans.top().first << " ";
break;
}
ans.pop();
}
if(ans.empty())
cout << 0 << " ";
ans.push(make_pair(n + 1, v));
}
return 0;
}
// *&)*@*
- 시간 초과로 인해 꽤나 시간이 걸렸습니다.
- stack의 마지막 높이보다 더 높은 값을 입력받은 경우, stack의 마지막 값은 입력받은 값으로 swap될 수 있습니다. 단, 값이 변경되는 것일뿐 인덱스는 증가되어야 합니다. (그래서 pair를 사용하였습니다.)
- 반대로 stack의 마지막 높이보다 더 낮은 값을 입력받은 경우, stack에 입력받은 값을 쌓을 수 있어야 합니다.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
출석 이벤트 (feat. 백준, 25704번) (0) | 2022.10.04 |
---|---|
포인터 공부 (feat. 백준, 25703번) (0) | 2022.10.04 |
문자열 폭발 (feat. 백준, 9935번) (0) | 2022.10.04 |
알파벳 (feat. 백준, 1987번) (0) | 2022.09.30 |
알파벳 개수 (feat. 백준, 10808번) (0) | 2022.09.30 |
Comments