스택

📖 문제 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 배열 - 여는 괄호인 경우, 스택에 시작 위치 인덱스를 넣는다. - 닫는 괄호인 경우, (스택의 여는 괄호 인덱스, 현재 인덱스)를 넣는다. - 재귀를 통해 괄호를 표시할지 말지 각 쌍들을 조합하여..
🔺 문제 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 🧩 해결 아이디어 • 스택 . ')' 나왔을 때, 이게 레이저인지/쇠 막대기인지 파악하기 └ 레이저인 경우 = 바로 직전 요소가 '('인 경우, '(' 개수 계산 └ 쇠 막대기인 경우, + 1 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 import java.util.*; import java.io.*; public class Main { publ..
🔺 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.util.*; class Solution { public int solution(int[] order) { int answer = 0 ; Stack stack = new Stack(); int idx = 0; for(int i = 1 ; i
🔺 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.*; class Solution { public int[] solution(int[] numbers) { int[] answer = new int[numbers.length]; Stack s = new Stack(); for(int i = numbers.length - 1; i >= 0; i--){ while(!s.isEmpty()){..
🔺 문제 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffer..
imname1am
'스택' 태그의 글 목록