[JAVA][Baekjoon] 17298번 오큰수 ⭐️⭐️⭐️⭐️⭐️
·
Coding Test/Baekjoon
https://www.acmicpc.net/problem/17298 📌 접근 방식🌟 주어진 수열에서 각 원소에 대해 오큰수를 찾아야 한다. 오큰수란 해당 원소보다 크고, 그 오른쪽에 있는 가장 왼쪽의 수를 의미한다 없으면 -1을 출력!반복문(시간 복잡도가 O(N²))을 이용해 오큰수를 찾는다면 시간 초과가 발생스택에 새로 들어오는 수가 top에 존재하는 수보다 크면 그 수는 오큰수!스택을 활용하여 수열을 한 번 훑기새로운 수가 들어오면 스택의 top에 있는 수보다 크다면 그 수는 새로운 수의 오큰수가 된다.해당 오큰수를 찾으면 스택에서 pop하고, 새로운 수는 스택에 push한다.스택이 비게 되면, 오큰수가 없는 원소들은 -1로 처리한다.   ✅ PASS CODEimport java.util.*;im..
[JAVA][Baekjoon] 1874번 스택 수열🌟
·
Coding Test/Baekjoon
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 ..
[JAVA][Baekjoon] 11003번 최솟값 찾기 ⭐️⭐️⭐️⭐️
·
Coding Test/Baekjoon
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]){ ..
[JAVA][Baekjoon] 12891번 DNA 비밀번호 🌟🌟🌟🌟🌟
·
Coding Test/Baekjoon
12891번: DNA 비밀번호평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA”www.acmicpc.net📌 슬라이딩 윈도우2개의 포인터로 범위를 지정한 다음 범위를 유지한 채로 이동하며 해결하는 것📌 접근 방법슬라이딩 윈도우를 사용해서 범위를 4칸으로 유지한 채 한 칸씩 이동하며 배열의 상태를 업데이트 해준다.배열을 업데이트 할 때는 앞에 빠지는걸 빼고 뒤에거를 추가시키는 식으로 업데이트!A, C, G, T 의 개수를 담고있는 배열과 비교하면서 판단  🚨 시간 초과 코드import java.io.IOException;import java.ut..