알고리즘/스택6 [백준 6549] 히스토그램에서 가장 큰 직사각형 / 자바 / 스택 #문제 레벨: P5알고리즘: 스택풀이시간: 1시간힌트 참조 유무: 유https://www.acmicpc.net/problem/6549#문제 풀이 이 문제는 스택문제이다. 여담으로 지금까지 푼 건물에 관한 문제는 스택이었다 크크. 스택에 넣고 빼는 규칙은 간단하다. 현재 건물이 Stack의 최상단보다 크면 Stack에 집어넣고 Stack의 최상단보다 작으면 현재건물보다 작은 것들을 다 빼서 넓이를 구한다. 그중 가장 큰 것이 정답이다. 빨간색 숫자는 높이를 의미한다. 높이가 2인 건물을 만나면 [1,4,5]가 담긴 숫자들을 빼며 넓이를 업데이트 한다. 일단 5x1= 5를 answer = Math.max(5,Long.MIN_Value)가 되고 2보다 4가 크니 4x2=8를 answ.. 2024. 8. 10. [백준 17928] 오큰수 / 자바 / 스택 문제 레벨: G4알고리즘: 스택 풀이시간: 3:41힌트 참조 유무:https://www.acmicpc.net/problem/172981 번째 시도 이 문제는 이중 for문으로 하면 쉽게 풀 수 있지만 1,000,000 x 1,000,000이니 반드시 시간초과가 난다. 스택이 비어있지 않으면서 현재 원소가 스택의 맨 위 원소가 가리키는 원소보다 큰 경우 해당 조건을 만족할 때 까지 stack의 원소를 pop하면서 해당 인덱스의 값을 현재 원소로 바꿔준다. 배열을 다 순회했다면 스택의 모든 원소를 pop하면서 해당 인덱스의 value를 -1로 초기화한다. import java.io.BufferedReader;import java.io.InputStreamReader;impor.. 2024. 6. 21. 스택 문제 판별능력 키우기(with 백준 7문제) 문제1 https://www.acmicpc.net/problem/2800 아이디어'('를 스택에 넣은 후 ')' 만날 때마다 괄호클래스 혹은 이차원 배열에 추가해주기2의 n승(n개의 괄호쌍이 있다, 없다) 의 경우의 수를 어떻게 dfs 재귀함수로 표현할 것인가dfs 함수 안에 괄호 제거한 버전 괄호 포함한 버전으로 dfs 호출 두 번한다.ex) private static void dfs(int idx, int len) { if (idx == len) { print(); return; } if (arr[idx] == '(') { // 여는 괄호를 만나면 해당 괄호와 짝 괄호를 vist배열에 true처리한.. 2024. 4. 28. 항해99 29일차 TIL( 에디터 / 백준) 문제 https://www.acmicpc.net/problem/14061 번째 시도 스택 문제를 골라 풀기 시작했지만 처음 봤을 때 스택 문제라고 생각이 안들었습니다.다른 풀이)ArrayList에 문자열을 담는다. 커서위치를 cInd라는 변수에 담는다cInd가 가르키는 곳에 추가하거나 삭제한다.import java.util.*;import java.io.*;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readL.. 2024. 4. 27. 항해99 28일차 TIL( 쇠막대기 / 자바) 문제 https://www.acmicpc.net/problem/10799 1 번째 시도 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); int answer = 0; Stack st = new Stack(); .. 2024. 4. 26. 항해99 27일차 TIL( 괄호 / 백준) 99클럽 모의고사를 보고나서 나의 문제점을 발견했다. 문제를 보면 어떤 유형인지 파악하지 못한다는 것이다. 유형을 생각지도 않은 채 무작정 문제를 풀어 생긴 문제라 본다. 알고리즘 문제 별로 푸는 연습을 해야겠다. 오늘은 Stack 문제를 풀어볼 것이다. 문제 9012번: 괄호괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고www.acmicpc.net1 번째 시도 조건에 부합하면 스택에 넣고 차례차례 빼는 느낌의 문제면 Stack문제라 생각하기import java.util.*;import java.io.*;.. 2024. 4. 25. 이전 1 다음