본문 바로가기

Stack3

[Python] 백준 #2812 크게 만들기(탐욕 알고리즘) 이번 문제는 n개의 자리를 가진 숫자에서 k개의 자리수를 제거하여 n-k개의 자리를 가진 수 중에 가장 큰 수를 만드는 것입니다.  문제의 링크는 다음과 같습니다.https://www.acmicpc.net/problem/2812 저는 스택(stack)을 이용한 탐욕 알고리즘을 이용해서 문제를 풀었습니다.  알고리즘은 간단합니다.  다음수가 맨 마지막수보다 크고 빼어야할 수가 있다면, 맨 마지막수를 빼고 다음수를 추가하는 방식입니다. 입력 받기n, k = map(int, input().split())- 이 부분은 `n`과 `k`를 입력받습니다. `n`은 문자열 `s`의 길이, `k`는 제거할 문자 개수를 의미합니다.스택 초기화stack = ["9"]- 가장 큰 수를 만들기 위해 사용할 스택을 초기화합니다... 2024. 8. 17.
[C/C++] 백준 #2504 괄호의 값(스택) 괄호의 짝맞춤은 처음 언어를 배우면서 스택을 이용한 활용 사례로 많이 나오는 편입니다. 복합괄호 형태로 나오게 되는데요. 복합괄호가 아니라면 굳이 스택을 사용하지 않아도 됩니다. 이 문제는 단순한 괄호 짝 맞추기보다 어려운 문제입니다. https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net 저는 일단 스택을 두가지 용도로 사용했습니다. 현재까지 계산된 결과를 저장하는 용도와 짝을 맞추는 용도로 썼습니다. 계산될 결과의 경우에는 양수값을 사용하였고.. 2023. 5. 30.
[C/C++] 백준 #2493 탑(스택) 이번 문제는 스택을 이용해서 간단하게 풀 수 있는 문제입니다. 현재 골드 레벨로 설정되어 있지만, 그보다 낮은 레벨이어도 될 것으로 봅니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net n개의 타워가 왼쪽부터 차례대로 일렬로 서 있습니다. 각각의 탑 꼭대기에는 신호를 송신하는 장치가 있고, 왼쪽으로만 수평 방향으로만 송신할 수 있습니다. 모든 탑에서는 어떤 높이에서든 송신된 신호를 받을 수 있습니다. 송신된 신호는 첫번.. 2023. 5. 24.
728x90