자료구조22 [C++] 백준 2493번 : 탑 https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 문제 풀이 스택으로 풀 수 있는 문제이다. 입력받은 높이를 스택에 담고 지금 입력받은 높이가 top의 높이보다 높다면 top의 idx 값을 출력해준다. 작다면 pop을 통해서 신호를 받을 수 있는 탑의 idx를 찾는다. 신호를 받은 탑은 스택에 남겨주고, 신호를 받지 못한 탑들은 필요가 없으므로 pop 해주는 것이다. 스택이 빌 때까지 신호를 받을 수 있는 탑이 없다면 0을 출력해주면 된다. 느.. 2021. 10. 14. [C++] 프로그래머스 : 짝지어 제거하기 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 문제 풀이 괄호 풀기와 비슷하게 스택으로 푸는 문제이다. 비어있거나 스택의 top과 str[i] 다르면 push 하고 아니라면 pop 해준다 끝난 뒤 스택이 비어있다면 1을 반환한다. 느낀 점 처음에 문자열로 풀려고 했는데 바로 스택이 떠올라서 금방 해치웠다! 코드 #include #include using namespace std; stack s;.. 2021. 10. 9. [C++] 백준 2504번 : 괄호의 값 https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 문제 풀이 괄호를 다루는 스택 문제이다! 이 문제의 가장 중요한 포인트는 2가지이다. 1. 분배 법칙 2. 계산된 값을 언제 정답에 더할지 첫 번째는 쉽다. 예제를 예로 들면 (2 + 3 * 3) * 2 가 2 *2 + 3 * 3 * 2로 계산될 수 있다는 점이다. 두 번째는 생각이 필요하다. 단순하게 닫힌 괄호가 올 때마다 정답에 더한다면 우리가 원하는 값과 다른 값을 계산한다. 닫힌 괄호가 .. 2021. 10. 7. [C++] 백준 1158번 : 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 풀이 https://codinghejow.tistory.com/91와 같은 문제이다! 느낀 점 이번에 코테 준비를 하면서 다시 풀어봤던 문제이다. 이번에 한번 정리함으로써 큐에 대한 이해도가 확실하게 향상된 것 같다. 코드 #include #include using namespace std; int n, k; queue q; void func(int n, int k) { for (int i = 1; i 2021. 9. 24. 이전 1 2 3 4 다음