전체보기
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/Xu7tr/btsHgdpIR2h/LZPpVxwWzEvJKCevjTUan0/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
https://www.acmicpc.net/problem/17298 📌 접근 방식반복문을 이용해 오큰수를 찾는다면 시간 초과가 발생스택에 새로 들어오는 수가 top에 존재하는 수보다 크면 그 수는 오큰수! ✅ PASS CODEimport java.util.*;import java.io.*;public class Main { public static void main (String [] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int []A = new ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bmmldn/btsG704X0ht/52d5XqiU3n77d1WQbsIauk/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
https://www.acmicpc.net/problem/1874 📌 접근 방법 기준이 되는 자연수를 추가하여 해당 수와 비교하며 진행하였다. (k = 1)현재 수열 값 >= k해당 수열 값이 될 때까지 push(+) 해준 후 도달하면 해당 값을 Pop(-) 해준다.현재 수열 값 자연수보다 작은 값을 찾으려면 이미 스택에 넣어둔 값이므로 pop을 통해 스택에 있는 값을 꺼낸다. 꺼낸 값이 현재 수열 값이 아니라면 더이상 후입선출 원리로 계산할 수 없으므로 NO를 출력한 뒤 종료한다.꺼낸 값이 현재 수열 값과 같다면 pop을 했으므로 - 를 추가한 후 다시 실행한다. ✅ pass codeimport java.util.*;import java.io.*;public class Main { public ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/SOQzV/btsG6XgtZLA/lHdyPYmYcwLMhiZwj5jnQ1/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 Stack삽입과 삭제 연산이 후입선출(LIFO)로 이루어지는 자료구조➡️ 삽입과 삭제 연산이 한 쪽에서만 일어남❗️ DFS(Depth First Search) 깊이 우선 탐색, 백트래킹에서 주로 사용됨!더보기❓ 후입선출이란? - 가장 마지막에 넣었던 값을 먼저 빼내는 방식- ex. 웹브라우저 방문 기록 (이전으로 누르면 바로 직전의 창으로 돌아감) ✔️ 스택 용어 위치top : 삽입과 삭제가 일어나는 위치연산push : top에 새로운 데이터를 삽입하는 연산pop : top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산peek : top 위치에 현재 있는 데이터를 단순 확인하는 연산 📌 Queue삽입과 삭제 연산이 선입선출(FIFO)로 이루어지는 자료구조➡️ 삽입과 삭제 연산이 양 방향에서..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bmJYXH/btsG5DuJnro/tkWX6GDGJU1MTZhL7gXpM1/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
https://www.acmicpc.net/problem/11003 🚫 시간초과 코드처음에 너무 단순하게 그냥 반복문으로 구간마다 최솟값을 찾아서 출력하려 했었다....완전 멍청이 코드였다 😡💢 import java.util.*;import java.io.*;public class Main { public static void main(String [] args) throws IOException{ int N, L; Scanner sc = new Scanner(System.in); N = sc.nextInt(); L = sc.nextInt(); int [] arr = new int[N]; for(int i=0; iarr[j]){ ..