본문 바로가기
반응형

스택7

백준 17298번 오큰수 - C++(cpp) 풀이 + 그림 설명 1. 오른쪽부터 왼쪽으로 가면서 오큰수를 구할 것이다. 2. 스택에는 앞으로 오큰수가 될 수 있는 수들만 들어있게 유지한다. 3. 어떤 수 x를 고려하는 시점에서의 스택 top이 x의 오큰수이다. 1. 오른쪽부터 왼쪽으로 가면서 오큰수를 구할 것이다. 오른쪽부터 왼쪽으로 가면서 오큰수를 구할 것이다. 즉 NGE(N), NGE(N-1), ..., NGE(2), NGE(1) 순으로 구할 것이다. 2. 스택에는 앞으로 오큰수가 될 수 있는 수들만 들어있게 유지한다. 스택을 사용한다. 스택에는 앞으로 어떤 수의 오큰수가 될 수 있는 수들만 들어있게 유지해준다. 주어진 수열을 높이가 있는 막대라고 생각해보자. 먼저 가장 오른쪽에 있는 7의 오큰수인 NGE(4)를 구해보자. 스택이 비어있으므로 7의 오큰수는 없다... 2022. 2. 17.
백준 3015번 오아시스 재결합 - 스위프트(Swift) 풀이 + 그림 설명 어디서 많이 본 것 같은 느낌이 나면서도 중복 처리가 힘들었던 문제. 일단 기본 아이디어는, X보다 더 큰 사람 Y가 나오는 순간, 이제 Y보다 뒤에 있는 사람들은 X를 볼 수 없으므로 X를 더 이상 고려하지 않아도 된다는 것이다. 배열을 순차 탐색하면서 증가 때마다 무슨 일이 일어나고.. 왠지 스택을 쓰면 뭔가 될 것 같은 느낌이다. 아래와 같이 [3, 2, 2, 1, 2]로 주어진 상황이라고 하자. 손으로 풀어보면 그림과 같이 8쌍이 서로 볼 수 있다. 왼쪽부터 순차 탐색할 것이므로 A와 B가 서로 볼 수 있다면, 더 우측에 있는 B차례에서 카운트+1을 해줄 것이다. 아까 말했던 기본 아이디어, 더 큰 사람이 올 때까지 이제 스택에 일단 한 명씩 담자. 계속 더 작은 사람만 담다보면 스택 내부는 항상.. 2022. 1. 8.
반응형