백준 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
댓글을 사용할 수 없습니다.