본문 바로가기
반응형

스택7

프로그래머스 과제 진행하기 - C++ 풀이 1. 시작시간을 기준으로 오름차순 정렬하여 순차적으로 시작한다. 2. 현재 과제를 끝내기 전에 다음 과제를 시작해야 하는 경우, 현재 과제를 중단한다. 중단된 과제들은 스택으로 관리한다. 3. 다음과제를 시작하기 전까지 텀이 존재하는 경우, 텀 동안 중단했던 과제들을 해결한다. 1. 시작시간을 기준으로 오름차순 정렬하여 순차적으로 시작한다. 시작시간에 맞춰 순차적으로 시작해야하므로, 시작시간을 기준으로 오름차순 정렬해둔다. 2. 현재 과제를 끝내기 전에 다음 과제를 시작해야 하는 경우, 현재 과제를 중단한다. 중단된 과제들은 스택으로 관리한다. 만약 현재 과제를 끝내기 전에 다음 과제를 시작해야 하는 경우, 현재 과제를 중단해야 한다. 이때 중단된 과제들은 스택에 넣어둔다. 멈춰둔 과제가 여러 개일 경우.. 2023. 9. 5.
백준 1406번 에디터 - C++ 풀이 1. 모든 쿼리는 커서를 기준으로 이루어진다. 2. 커서보다 왼쪽에 있는 문자들과 오른쪽에 있는 문자들을 각각 스택으로 관리한다. 1. 모든 쿼리는 커서를 기준으로 이루어진다. 포인트는 모든 쿼리가 커서를 기준으로 이루어진다는 것이다. 2. 커서보다 왼쪽에 있는 문자들과 오른쪽에 있는 문자들을 각각 스택으로 관리한다. 따라서 커서 직전, 직후 문자들만 쿼리 대상이다. 이에 적합한 자료구조인 스택을 사용한다. 커서보다 왼쪽에 있는 문자들을 한 스택에 모아두고, 커서보다 오른쪽에 있는 문자들을 또 다른 스택으로 묶어 관리한다. 접근 가능한 top이 커서 쪽이 되는 순서로 저장해야 한다. 그러면 이제 모든 쿼리를 간단하게 구현할 수 있다. 왼쪽, 오른쪽 문자들이 담긴 스택을 각각 lst, rst라 하자. L:.. 2023. 8. 9.
백준 5397번 키로거 - C++ 풀이 1. 커서 앞쪽 문자와 뒤쪽 문자를 분리하여 각각 스택에 저장한다. 2. -가 들어오면 앞쪽 스택에서 pop 하고, 알파벳이 들어오면 앞쪽 스택에 push 한다. 3. >가 들어오면 뒤쪽 스택에서 하나를 pop 해 앞쪽 스택에 push 하고, 가 들어오면 뒤쪽 스택에서 하나를 pop 해 앞쪽 스택에 push 하고,가 들어오면 커서가 한 칸 뒤로 이동한다. 커서 바로 뒤에 있던 알파벳이 커서 앞으로 가는 것과 같다. 따라서 뒤쪽 스택에서 하나를 pop해 앞쪽 스택에 push 한다. > T; while (T--) { string s; cin >> s; cout 2022. 9. 8.
백준 17299번 오등큰수 - C++ 풀이 1. 오큰수와 동일하게 스택을 이용하여 풀이한다. 1. 오큰수와 동일하게 스택을 이용하여 풀이한다. 오큰수 문제와 같은 풀이를 적용할 수 있다. Ai 대신 F(Ai)값을 가지고 비교한다는 차이만 있다. 백준 17298번 오큰수 - C++(cpp) 풀이 + 그림 설명 1. 오른쪽부터 왼쪽으로 가면서 오큰수를 구할 것이다. 2. 스택에는 앞으로 오큰수가 될 수 있는 수들만 들어있게 유지한다. 3. 어떤 수 x를 고려하는 시점에서의 스택 top이 x의 오큰수이다. 1. 오 please-amend.tistory.com #include #include using namespace std; const int MAX = 1000001; int N; int A[MAX], F[MAX], NFG[MAX]; int main.. 2022. 7. 10.
백준 10799번 쇠막대기 - C++ 풀이 1. 여는 괄호를 만나면 막대를 쌓는다. 2. 레이저의 닫는 괄호를 만나면 쌓인 막대 개수만큼 조각이 생성된다. 3. 막대의 닫는 괄호를 만나면 조각이 1개 생성된다. 1. 여는 괄호를 만나면 막대를 쌓는다. 여는 괄호를 만나면 막대의 시작점이므로 막대를 쌓아준다. 쌓인 막대의 개수를 저장해둘 것이다. 이때 여는 괄호가 막대의 시작이 아니라 레이저일 수도 있는데, 막대 개수를 -1부터 카운트하면 따로 예외 처리하지 않아도 된다. 2. 레이저의 닫는 괄호를 만나면 쌓인 막대 개수만큼 조각이 생성된다. 레이저의 닫는 괄호를 만나면, 쌓인 막대 개수만큼 조각이 생성된다. 직전 괄호가 여는 괄호라면 레이저인 것으로 판단할 수 있다. 3. 막대의 닫는 괄호를 만나면 조각이 1개 생성된다. 레이저의 닫는 괄호가 아.. 2022. 6. 17.
반응형