스택

📖 문제 https://www.acmicpc.net/problem/1935   💡  풀이 방식• 스택Double형을 저장하는 스택을 생성한다. 명령어를 순회하며 피연산자(알파벳에 해당하는 숫자)는 스택에 넣고 , 연산자가 나오면 스택에서 꺼내고 연산한 결과를 스택에 다시 넣는다.   🔺 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import java.util.*;import java.io.*; public class Main {    public static void main(String[] args) throws IOException {        BufferedReader br ..
📖 문제 https://www.acmicpc.net/problem/1863   💡  풀이 방식• 스택. 건물의 높이(y)가 달라지는 걸 확인하기 위해 스택을 활용한다. - 건물의 높이가 낮아진 경우           > 뒤에 있는 건물이 끝났다는 의미. 스택이 비지 않을 때까지 한 빌딩과 해당 빌딩과 같은 높이의 빌딩을 같은 빌딩으로 취급하며 제거- 건물의 높이가 같은 빌딩인 경우  > skip- 건물의 높이가 높아진 경우           > 스택에 push해 최고층 높이의 건물 갱신  💥 유의사항- 입력을 다 받았는데 스택에 값이 남아있다면, 건물이 남아있는 것과 마찬가지이므로 남아있는 값의 갯수만큼 하나의 건물로 취급해 건물 갯수를 센다.  🔺 코드123456789101112131415161..
📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   💡  풀이 방식• 스택필요 자료구조- 이전 노드 위치 기억용 배열 preArr- 다음 노드 위치 기억용 배열 nextArr- 삭제한 위치의 노드 정보 저장용 스택 ⭐ . preArr, nextArr 배열을 사용한다.  - 각 인덱스에 해당하는 위치의 이전 노드 위치, 다음 노드 위치를 기억한다.  - 맨 마지막 노드의 다음 노드는 -1로 설정해둔다. . 크기 n만큼 'O' 문자열을 만든다.  . 각 명령에 맞는 작업을 수행한다.1. 위로 이동하는 경우, 값만큼 현재 위치 k를 위로 이동한다.in..
📖 문제 https://www.acmicpc.net/problem/2493  💡  풀이 방식• 스택필요 자료구조- (탑 번호, 높이) 값을 저장하는 int[]형 스택 탑의 높이를 미리 입력받지 않아도 되고,탑의 높이를 입력 받으면서 이미 입력받은 값들과 비교하며 풀면 된다.  - 입력받은 높이가 현재 높이보다 낮은 경우, 해당 탑에는 레이저가 닿을 수 없으므로 제거(pop)한다.- 현재 스택이 비어있다면, 레이저가 닿을 수 있는 탑이 없으므로 0을 출력한다.   💥 유의사항데이터 크기가 크므로, 완전탐색을 썼다가는 시간 초과가 발생한다.  🔺 코드12345678910111213141516171819202122232425262728293031323334353637import java.util.*;i..
📖 문제 https://www.acmicpc.net/problem/2304   💡  풀이 방식•  브루트포스 가장 높은 길이를 기준으로 왼쪽 부분과 오른쪽 부분으로 나눠 지붕을 메꾼다. 1. 기둥들의 위치와 높이를 입력받는다.2. 입력받은 기둥들의 정보를 위치 기준 오름차순 정렬한다.3. 가장 높은 기둥의 길이를 기준으로 왼쪽 부분에서 기둥이 커지는 구간의 면적만 계산한다. (맨 왼쪽 0부터 pivot까지)4. 가장 높은 기둥의 길이를 기준으로 오른쪽 부분에서 기둥이 작아지는 구간의 면적만 계산한다. (맨 오른쪽부터 pivot까지)5. 제일 큰 기둥의 높이를 더한다.   🔺 코드12345678910111213141516171819202122232425262728293031323334353637383..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • 스택/큐 필요 자료구조 - Plan 객체 - 잠시 멈춘 과제 저장용 스택(또는 큐) - 완료된 과목 저장용 정답 리스트 1. Plan 객체를 생성해 배열에 넣고, 배열을 시작 시간 순 오름차순으로 정렬한다. 2. 0부터 마지막-1 인덱스까지 Plan 객체 배열을 순회한다. 현재 계획 (pp[i])과 다음 계획(pp[i+1])을 비교한다. 만약 현재 계획의 종료 시간이 다음 계획의 시작 시간 이후인 경우, 과제를 잠시 멈춘다. 현재 계획을 남은 시간으로 저장한다. (남은 시간 = 현재..
📖 문제 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 💡 풀이 방식 • 스택 스택을 만들어 폭발 문자열과 일치하는 문자열이 생겼을 때 바로바로 빼주는 식으로 push와 pop연산을 진행한다. 1. 문자열 str의 전체 길이를 탐색하며 스택에 문자를 하나씩 저장(push)한다. 2. 스택에 들어간 문자의 길이가 폭발 문자열의 길이보다 길다면, 폭발 문자열이 있는지 탐색한다. (⚠ 탐색 범위 : stack.size() - bomb.length() ~ stack.size()) - 폭발 문자열과 일..
📖 문제 ')로만 이루어져 " data-og-host="www.acmicpc.net" data-og-source-url="https://www.acmicpc.net/problem/17413" data-og-url="https://www.acmicpc.net/problem/17413" data-og-image="https://scrap.kakaocdn.net/dn/sIGT7/hyU5PVkXHF/evdmY3jb9h5rzxZFgoq3Q0/img.png?width=2834&height=1480&face=0_0_2834_1480"> 17413번: 단어 뒤집기 2문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자..
🔺 문제 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net 🧩 해결 아이디어 • 문자열 + 스택 + 재귀 - 필요 자료구조 (여는 괄호 위치, 닫는 괄호 위치) 저장 객체 괄호 위치 객체 저장 리스트 괄호 제거해서 나오는 식 저장할 TreeSet 괄호 지울지 말지 판단용 boolean 배열 - 여는 괄호인 경우, 스택에 시작 위치 인덱스를 넣는다. - 닫는 괄호인 경우, (스택의 여는 괄호 인덱스, 현재 인덱스)를 넣는다. - 재귀를 통해 괄호를 표시할지 말지 각 쌍들을 조합하여..
imname1am
'스택' 태그의 글 목록