본문 바로가기

분류 전체보기273

[Leetcode] 1760. Minimum Limit of Balls in a Bag 문제 요약알고리즘 분류: 이분탐색, 이진 탐색난이도: Medium문제내용:가방마다 공이 들어 있고, 우리는 특정 횟수만큼 가방을 나눌 수 있습니다.한 가방을 두 개로 나눌 때 각 가방에는 반드시 1개 이상 공이 있어야 한다.작업을 수행한 후 가능한 최소 패널티를 반환하세요.사이트 주소: https://leetcode.com/problems/minimum-limit-of-balls-in-a-bag/문제풀이 이번 문제에는 이분탐색을 활용한 문제이다. 관련 내용은 밑에 글에서 확인 해보면 된다.https://jih3508.tistory.com/288 [알고리즘 이론] 이진 탐색(Binary Search)이진 탐색(Binary Search) 완벽 정리 🔍안녕하세요! 오늘은 프로그래밍에서 가장 기본적이면서도.. 2025. 6. 13.
[알고리즘 이론] 이진 탐색(Binary Search) 이진 탐색(Binary Search) 완벽 정리 🔍안녕하세요! 오늘은 프로그래밍에서 가장 기본적이면서도 중요한 알고리즘 중 하나인 **이진 탐색(Binary Search)**에 대해 알아보겠습니다. 이진 탐색은 "이분 탐색"이라고도 불리며, 코딩 테스트에서도 자주 출제되는 핵심 알고리즘입니다.🤔 이진 탐색이 뭔가요?이진 탐색은 정렬된 배열에서 특정 값을 빠르게 찾는 방법입니다.예를 들어 사전에서 단어를 찾을 때를 생각해보세요. 'S'로 시작하는 단어를 찾는다면, 처음부터 한 페이지씩 넘기지 않고 대략 중간쯤을 펼쳐서 확인한 다음, 그보다 앞쪽인지 뒤쪽인지 판단해서 범위를 좁혀나가죠? 바로 그 원리입니다!⚡ 왜 이진 탐색을 써야 할까요?속도 비교일반적인 순차 탐색 vs 이진 탐색을 비교해보겠습니다:📊.. 2025. 6. 13.
Apache Kafka 기본 지식 Apache Kafka 기본 지식 - 완벽 가이드📚 Kafka란 무엇인가?Apache Kafka는 분산형 스트리밍 플랫폼으로, 대용량의 실시간 데이터를 안정적으로 처리하기 위해 개발된 오픈소스 시스템입니다. LinkedIn에서 2011년에 처음 개발되어 현재는 Netflix, Uber, Airbnb 등 많은 글로벌 기업에서 활용하고 있습니다.간단히 말하면, Kafka는 메시지를 보내는 곳(Producer)과 받는 곳(Consumer) 사이의 우체국 역할을 한다고 생각하면 됩니다.🎯 Kafka를 사용하는 이유전통적인 방식의 문제점여러 시스템이 서로 데이터를 주고받을 때, 각각을 직접 연결하면 복잡한 구조가 만들어집니다. 시스템이 늘어날수록 연결점은 기하급수적으로 증가하죠.Kafka가 해결하는 것들확장성.. 2025. 5. 29.
Redis 기본 개념 Redis 기본 개념: 빠르고 효율적인 인메모리 데이터 저장소Redis란 무엇인가?Redis(Remote Dictionary Server)는 오픈 소스 기반의 인메모리 데이터 구조 저장소입니다. 메모리에 데이터를 저장하여 매우 빠른 읽기/쓰기 성능을 제공하며, 다양한 데이터 구조를 지원하는 NoSQL 데이터베이스입니다.🚀 Redis의 주요 특징1. 인메모리 저장모든 데이터를 RAM에 저장하여 디스크 I/O 없이 빠른 접근 가능밀리초 단위의 응답 시간 제공2. 다양한 데이터 구조 지원String: 가장 기본적인 키-값 저장Hash: 필드-값 쌍의 컬렉션List: 순서가 있는 문자열 리스트Set: 중복되지 않는 문자열 집합Sorted Set: 점수로 정렬된 집합Bitmap, HyperLogLog 등 고급 .. 2025. 5. 22.
[Leetcode]2807. Insert Greatest Common Divisors in Linked List 문제 요약알고리즘 분류:Linked List, 유클리드호제법난이도: Medium문제내용:연결 리스트의 헤드 head가 주어지며, 각 노드는 정수 값을 포함하고 있습니다.인접한 모든 노드 쌍 사이에, 두 노드의 최대공약수와 같은 값을 가진 새로운 노드를 삽입하세요.사이트 주소: https://leetcode.com/problems/insert-greatest-common-divisors-in-linked-list/description/문제풀이 이번 문제는 링크드 리스트에 중간에 최대 공약수를 집어 넣는것이다. 최대 공약수 효율적으로 구하는 방법은 유클리드 호제법이다. 유클리드 호제법에 대한 설명은 아래 글에서 확인해보면된다.https://jih3508.tistory.com/13 유클리드 호제법(Euclid.. 2025. 5. 20.
[BAEKJOON]2903 중앙 이동 알고리즘 문제 요약알고리즘 분류: 집합난이도: Bronze3문제내용:다음의 두 가지 규칙을 따릅니다:각 변의 중앙에 점을 하나 추가각 정사각형의 중심에 점을 하나 추가N번 거친 후 점의 수를 출력해라사이트: https://www.acmicpc.net/problem/2903문제풀이이 문제는 특정 패턴에 따라 그리드를 그릴 때 생성되는 점의 개수를 계산하는 알고리즘 문제입니다. 문제에서 보여주는 이미지를 통해 패턴을 이해할 수 있습니다.패턴 분석문제에서 주어진 패턴을 분석해보면:N=1일 때, 2×2 사각형에 점 4개가 있습니다.N=2일 때, 3×3 사각형에 점 9개가 있습니다.N=3일 때, 5×5 사각형에 점 25개가 있습니다.N=4일 떼, 9×9 사각형에 점 81개가 있습니다.알고리즘은 다음과 같이 정의됩니다:정사.. 2025. 5. 15.