본문 바로가기

스택4

10799 : 쇠막대기 (C++) 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net - 스택을 이용하여 푸는 문제이며 '()'가 들어오면 안에 스택안에 있던 사이즈를 측정하여 결과 값에 더하고 ')'가 입력되면 스택에서 pop을 하고 결과값에 1을 더한다. #include #include #include using namespace std; int main() { string stick; stack t; int result = 0; cin >> stick; for(int i = 0; i < stick.size(); i++) { if(stick[i] == '.. 2021. 1. 18.
1874 : 스택 수열 (C) 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 #include #include #define MAX_SIZE 200001 char result[MAX_SIZE]; int indexd = 0; void push(int *stack, int data, int *topp) { stack[(*topp)++] = data; result[indexd++] = '+'; } void pop(int *stack, int *topp) { sta.. 2021. 1. 10.
10828 : 스택 (C) 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net #include #include #include typedef struct { int data; struct Node *next; } Node; typedef struct { int count; Node *top; } Stack; void push(Stack *stack, int data) { Node *node = (Node*)malloc(sizeof(Node)); node->data = data; node->next = stack->top; .. 2021. 1. 9.
[백준] 4949번 : 균형잡힌 세상(JAVA) https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이룰 수 있다. 모든 왼쪽 대괄호("[")는 오른쪽 대 www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 17단계 스택의 카테고리에 포함되어 있는 문제이다. 나는.. 2019. 11. 15.