
골드바흐의 추측(Goldbach's conjecture)을 기반으로, 주어진 짝수를 두 개의 소수 합으로 나타내는 문제이다.(대충 문제와 요구사항)......결국에는 소수의 합들을 구하는 것이기 때문에 빠른 동작을 위해 소수 판별 알고리즘을 만든다.몇 번의 테스트 케이

하노이 탑 알고리즘을 사용하여 첫번째 에서 세번째(마지막) 막대로 이동시키는 과정과 이동 횟수를 출력하는 문제문제..N은 1보다 크거나 같고 100보다 작거나 같다.단, N이 20보다 큰 경우에는 과정을 출력할 필요가 없다(N이 20을 넘으면 이동 횟수만 출력)출력은

배달 음식 주문을 생각해 보자.A 음식점은 한 번에 하나씩 배달한다.B 음식점은 오토바이를 여러 대 써서 한 번에 여러 개 배달한다.C 음식점은 드론을 사용해서 순식간에 배달한다.✔ A 음식점(비효율적인 알고리즘) → O(N²)✔ B 음식점(보통의 알고리즘) → O(N
정렬(Sorting)이란 데이터를 오름차순(작은 → 큰) 또는 내림차순(큰 → 작은)으로 정리하는 과정이다.검색 속도를 빠르게 하기 위해 (O(N) → O(log N))중복된 데이터를 쉽게 찾기 위해데이터를 더 잘 분석하기 위해정렬이 없는 데이터: "책이 엉망으로 쌓여
완전 탐색이란? >완전 탐색(Exhaustive Search)은 가능한 모든 경우를 하나씩 다 테스트하는 방식. 한마디로 판단하는 것이 아니라, 가능한 모든 경우를 모두 테스트하는 방식이기 때문에 한계가 있지만, 쉽고 진정한 방법입니다. 예를 들어, 비밀번호를 찾을

이분 탐색 (Binary Search)

분할 정복에 대해 알아보자

Stack

Queue

즉, 먼저 들어왔다고 나간다 X중요한 놈(우선순위가 높은 놈)이 먼저 나감 !우선순위 큐에 다음 작업이 있다고 가정해보자enqueue() 순서는 A → B → C하지만 dequeue() 하면:작업 B (우선순위 1)작업 C (우선순위 2)작업 A (우선순위 3)→ 우선

Hash Table

DP(Dynamic Programming)

Boyer-Moore 알고리즘은 가장 빠른 문자열 검색 알고리즘 중 하나로,오른쪽에서부터 비교하고, 불일치 시 멀리 점프하는 방식으로 작동한다.KMP보다 실전에서 평균 속도가 더 빠르며, 실제 검색기에도 많이 사용된다.비교는 패턴의 오른쪽부터 시작매칭 실패 시, 두 가

KMP는 문자열 검색 시, 이미 비교했던 내용을 다시 비교하지 않도록 최적화된 알고리즘이다.문자열을 탐색하면서 생기는 중복 비교를 피하기 위해 LPS 배열이라는 구조를 사용한다.기존 브루트포스 방식은 문자열이 맞다가 틀리면 처음부터 다시 비교함 → 비효율적KMP는 틀린

💸 그리디 알고리즘 정복하기