본문 바로가기

알고리즘/스택5

[백준 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.