본문 바로가기

스택6

[백준 17298] 알고리즘 101일차 : 오큰수 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 스택 Java 주어진 수열에서 각 원소마다 본인의 오른쪽에서 가장 가까운 본인보다 큰 수를 출력하는 문제 접근방법 이 문제의 포인트는 바로 스택에 오큰수가 될 수 있는 후보들을 저장하고 있다고 생각하고 스택에서 위에 있는 수가 아래에 있는 수보다 항상 커야한다는 점을 생각해야한다! 따라서 스택의 top이 본인보다 작다면 pop해줘야 한다. 스택에는 나(top이 될)보다 큰 값들만 들어있어야 한다. 그렇지 않으면.. 2021. 7. 7.
[백준 1874] 알고리즘 39일차 : 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 스택 C++ 처음에 문제 이해를 못해서 이해하는데 시간이 좀 걸렸다. 1부터 n까지의 수가 연속된 수라는 점을 이해하면 된다. 1부터 n까지의 수가 섞여있는 수열이 주어지고 나는 1,2,3,4,...,n 까지의 수를 순서대로 스택에 push할 수 있고 또 pop하면서 결과적으로 pop하여 만들어진 수열이 입력된 수열.. 2020. 8. 7.
[백준 4949] 알고리즘 38일차 : 균형잡힌 세상 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단 www.acmicpc.net 스택 C++ (2011 ICPC japan) 괄호가 섞인 문자열이 주어지고 괄호가 균형이 맞는지 조사하는 문제 (, [ 가 입력되면 stack에 push하고 ), ]가 입력되면 stack에서 pop한 값이 짝이 맞는지 검사한다. 이때 짝이 맞지 않으면 균형잡힌 문자열이 아닌걸로 판단하고 결과를 출력하고 또 마지막에 stack이 비어있지 않으면 균형잡힌 문자열이 아닌걸로 판단하고 출력한다. 소스코드.. 2020. 8. 6.
[백준 9012] 눈물겨운 알고리즘 37일차 : 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)�� www.acmicpc.net 스택 C++ (,) 괄호로만 구성되어 있는 문자열에서 괄호가 짝이 맞는지 검사하는 문제 아무래도 문자열이 아직도 손에 익지 않은 것 같다. 입력받는데에서 확신이 없어서 의심을 멈출수가 없었다.ㅋㅋ 스택을 굳이 써야하나 싶어서 스택 안쓰고 코드를 짜다가 잘 안돼서 그냥 스택을 쓰자 하고 정석으로 풀었다. 역시 정도가 가장 빠른길이여 소스코드 #include usin.. 2020. 8. 5.
[백준 10773] 알고리즘 36일차 : 제로 https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 �� www.acmicpc.net 스택 C++ 숫자를 입력받아 스택에 쌓다가 0을 입력받으면 pop하고 마지막에 스택에 쌓여있는 수의 합을 구하는 문제 스택 문제가 대체로 평이한 것 같다. 소스코드 #include using namespace std; class Stack{ public: int size; int* stack; Stack(int maxSize){ size = 0; stack = new int[maxSize]; } void .. 2020. 8. 3.
반응형