슬라이딩 윈도우
-
이번 최솟값 찾기 문제는 DNA 비밀번호 문제와 비슷하지만 살짝 다른 문제이다. DNA 비밀번호는 슬라이딩 윈도우 배열의 크기가 일정하게 유지가 되었다면 이번 문제의 배열의 크기는 일정하게 유지되는 것이 아닌 변한다는 점이다. 여기서는 Deque를 사용하여 슬라이딩 윈도우 알고리즘을 사용할 것이다. 먼저 Deque는 Que 종류 중 하나로 Que의 양쪽으로 엘리먼트의 삽입과 삭제가 가능한 자료구조이다. 문제 해결 방법에 대해 말을 해보면 Deque에 현재 들어갈 값의 index와 value를 가진 객체를 넣어준다. 그 다음 들어갈 값의 value가 현재 들어가있는 마지막 값의 value보다 작으면 현재 들어가있는 마지막 값을 지우고 다음 들어갈 값을 Deque에 넣어준다. 여기서 최솟값을 조회하는 인덱스..
[백준] 슬라이딩 윈도우 - 11003_최솟값 찾기 Java[자바]이번 최솟값 찾기 문제는 DNA 비밀번호 문제와 비슷하지만 살짝 다른 문제이다. DNA 비밀번호는 슬라이딩 윈도우 배열의 크기가 일정하게 유지가 되었다면 이번 문제의 배열의 크기는 일정하게 유지되는 것이 아닌 변한다는 점이다. 여기서는 Deque를 사용하여 슬라이딩 윈도우 알고리즘을 사용할 것이다. 먼저 Deque는 Que 종류 중 하나로 Que의 양쪽으로 엘리먼트의 삽입과 삭제가 가능한 자료구조이다. 문제 해결 방법에 대해 말을 해보면 Deque에 현재 들어갈 값의 index와 value를 가진 객체를 넣어준다. 그 다음 들어갈 값의 value가 현재 들어가있는 마지막 값의 value보다 작으면 현재 들어가있는 마지막 값을 지우고 다음 들어갈 값을 Deque에 넣어준다. 여기서 최솟값을 조회하는 인덱스..
2024.02.07 -
슬라이딩 윈도우는 창문이 열리듯 같은 범위를 유지하며 한 칸씩 이동하면서 값을 찾는 알고리즘이다. 이 문제는 초기 구간을 설정한 뒤 한 칸씩 이동을 하며 값을 찾으면 되는 문제이다. 0부터 P까지 반복문을 돌며 초기 문자열이 비밀번호에 부합하는지 확인 후 한 칸씩 이동하며 값을 찾아내면 된다. 초기 최소 개수를 설정을 해줄 때에 최소 개수가 0이면 count를 하나씩 증가 시켜줘야 값이 달라지지 않는다. 아래 코드를 보자. import java.util.*; import java.io.*; public class Main { static int count; static int[] myArr; static int[] checkArr; public static void main(String[] args) t..
[백준] 슬라이딩 윈도우 - 12891_DNA 비밀번호 Java[자바]슬라이딩 윈도우는 창문이 열리듯 같은 범위를 유지하며 한 칸씩 이동하면서 값을 찾는 알고리즘이다. 이 문제는 초기 구간을 설정한 뒤 한 칸씩 이동을 하며 값을 찾으면 되는 문제이다. 0부터 P까지 반복문을 돌며 초기 문자열이 비밀번호에 부합하는지 확인 후 한 칸씩 이동하며 값을 찾아내면 된다. 초기 최소 개수를 설정을 해줄 때에 최소 개수가 0이면 count를 하나씩 증가 시켜줘야 값이 달라지지 않는다. 아래 코드를 보자. import java.util.*; import java.io.*; public class Main { static int count; static int[] myArr; static int[] checkArr; public static void main(String[] args) t..
2024.02.04