백준 17298 오큰수 c++
[문제 링크]
https://www.acmicpc.net/problem/17298
[입출력 예]
입력 | 출력 |
---|---|
4 3 5 2 7 4 9 5 4 8 |
5 7 7 -1 -1 8 8 -1 |
[소스코드]
#include <bits/stdc++.h>
#define MAX_N 1000000
#define MAX_A 1000001
int a[MAX_N];
int ans[MAX_N];
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
// n값 입력
int n;
cin>>n;
// 배열 입력
for(int i=0; i<n;i++ ){
cin>>a[i];
}
// 최대값 대입
stack <int> s;
s.push(MAX_A);
for (int i=n-1; i>=0;i--){
while(a[i]>=s.top()){
s.pop();
}
int temp = (s.top()==MAX_A)? -1 : s.top();
ans[i]=temp;
s.push(a[i]);
}
for (int i=0;i<n; i++){
cout<<ans[i]<<" ";
}
return 0;
}
- 처음에 top과 비교하는 부등식에서 등호를 안 넣었다.
- 부등식은 조심, 또 조심!! 부등호일때, 등호일 때 경우 따로 구분해서 생각하기. 쉽게 쓰지 말자.
'PS > BOJ' 카테고리의 다른 글
백준 6549 히스토그램에서 가장 큰 직사각형 풀이 c++ (0) | 2022.01.25 |
---|---|
백준 3015 오아시스 재결합 c++ (0) | 2022.01.25 |
백준 6918 옥상 정원 꾸미기 c++ (0) | 2022.01.13 |
백준 1874 스택수열 c++ (0) | 2022.01.08 |
백준 2493 탑 c++ (0) | 2022.01.08 |
댓글
이 글 공유하기
다른 글
-
백준 6549 히스토그램에서 가장 큰 직사각형 풀이 c++
백준 6549 히스토그램에서 가장 큰 직사각형 풀이 c++
2022.01.25 -
백준 3015 오아시스 재결합 c++
백준 3015 오아시스 재결합 c++
2022.01.25 -
백준 6918 옥상 정원 꾸미기 c++
백준 6918 옥상 정원 꾸미기 c++
2022.01.13 -
백준 1874 스택수열 c++
백준 1874 스택수열 c++
2022.01.08