[이분 탐색] 백준 1920번 : 수 찾기 - Java
백준/탐색2025. 4. 24. 17:01[이분 탐색] 백준 1920번 : 수 찾기 - Java

✅ 문제https://www.acmicpc.net/problem/1920✅ 분류이분탐색✅ 공부한 내용N의 최대범위가 10만이므로, 단순 반복문으로는 풀 수 없다.이분탐색을 적용하면 O(nlogn) 시간 복잡도로 해결할 수 있다. 이분 탐색은 데이터가 정렬되어있는 상태에서 원하는 값을 찾아내는 알고리즘이다.대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾는다.[이진 탐색 과정] - 오름차순으로 정렬된 데이터인 경우 (내림차순이면 조건 반대)현재 데이터셋의 중앙값을 선택한다중앙값 > 타깃데이터일때 중앙값 기준으로 왼쪽 데이터셋을 선택한다.중앙값 과정 1~3을 반복하다가 중앙값 == 타깃 데이터일 때 탐색을 종료한다.✅ 풀이import java.util.*;import..

[큐] 백준 10845번 큐 - Java
백준/스택 & 큐2025. 4. 8. 16:48[큐] 백준 10845번 큐 - Java

https://www.acmicpc.net/problem/10845✅ 문제🔑 풀이import java.io.*;import java.util.*;// deque 활용public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); Deque..

[스택] 백준 3986번 좋은단어- Java
백준/스택 & 큐2025. 4. 8. 16:12[스택] 백준 3986번 좋은단어- Java

https://www.acmicpc.net/problem/3986✅ 문제📌  접근방법처음에 문제를 한 번에 이해를 못했지만, 알고리즘 분류에 스택이라는 힌트를 보고 다시 생각해보니 어떻게 접근할 지 이해가 되었다.ABAB는 선이 교차해서 좋은 단어가 될 수 없다. ABBA와 AABB는 선끼리 교차하지 않고, 각 글자가 다른 위치에 있는 같은 글자와 짝 지을 수 있어 좋은 단어가 될 수 있다.스택을 만들어 스택이 비어있는 상태가 되면 좋은 단어가 된다.🔑 풀이import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReade..

[LeetCode] 225. Implement Stack using Queues
리트코드2025. 4. 4. 21:24[LeetCode] 225. Implement Stack using Queues

https://leetcode.com/problems/implement-stack-using-queues/description/✅ 문제Queue 2개를 활용하여 문제에서 주어진 Stack의 메서드를 모두 구현해야한다.📌  접근방법새로 들어온 값을 q1에 먼저 넣고, 기존에 q2에 있던 값들을 q1뒤에 모두 붙인다.그런 다음, q1과 q2를 바꿔치기 해서, q2가 항상 최신 스택 상태를 유지하게 만든다.즉, q2는 항상 스택처럼 작동하는 큐가 된다.맨 앞에 항상 스택의 top이 있도록 유지된다.🔑 풀이import java.util.*;class MyStack { Queue q1; Queue q2; public MyStack() { q1 = new LinkedList(); ..

image