본문 바로가기

Python146

[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.
[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.
[Leetcode]932. Beautiful Array 문제 요약알고리즘 분류: 분할정복난이도: Medium문제내용:nums는 [1, n] 범위의 정수들의 순열입니다.모든 0 정수 n이 주어졌을 때, 길이가 n인 임의의 아름다운 배열 nums를 반환하세요. 주어진 n에 대해 적어도 하나의 유효한 답이 존재합니다.사이트 주소: https://leetcode.com/problems/beautiful-array/description/문제풀이이 문제를 풀기 위한 핵심 통찰은 분할 정복(Divide and Conquer)을 활용하는 것입니다. 분할 정복에 대한 내용은 아래 글에서 확인 해보면 됩니다.https://jih3508.tistory.com/282 [알고리즘 이론] 분할 정복(Divide and Conquer)분할 정복(Divide and Conquer) 알고.. 2025. 5. 14.
[BAEKJOON]13241 최소공배수 문제 요약알고리즘 분류: 유클리드호제법난이도: Silver5문제내용:최대 공배수를 구야여사이트: https://www.acmicpc.net/problem/13241문제풀이 이번 문제는 최대 공배수이다. 여러 가지 푸는 방법이 있지만 최적화로는 유클리드 호제법이라 최적의 방식이 있다 아래 글보고 바로 따라하면 푸는 데는 지장이 없다. 코드 설명은 아래 글만 봐도 이해하는데는 문제가 없다고 생각한다.https://jih3508.tistory.com/13 유클리드 호제법(Euclidean algorithm)이론1. 유클리드 호제법이란?두 개의 정수 혹은 다수의 자연수에서 최대공약수를 구하는 알고리즘이다. 원리는 두 수가 서로 나눠서 나머지를 구한다. 만약 나머지가 0이면 그 수가 최대 공약수jih3508.ti.. 2025. 5. 8.
[Leetcode]1306. Jump Game III 문제 요약알고리즘 분류: Tree, DFS, BFS난이도: Medium문제내용:배열 arr이 주어지고, 여러분은 처음에 start 인덱스에 위치해 있습니다.인덱스 i에 있을 때, 여러분은 i + arr[i] 또는 i - arr[i]로 점프할 수 있습니다.값이 0인 인덱스에 도달할 수 있는지 true, false로 반환 하면 됩니다.사이트 주소: https://leetcode.com/problems/jump-game-iii/description/문제풀이 이번 문제는 방향성 그래프는 아니지만 잘보면 간단하게 그래프 탐색으로 풀수 있는 문제이다. 그레프 탐색은 대표적으로 깊이 우선 탐색(DFS), 넓이 우선 탐색(BFS)이 있다. 그래프 탐색에 대한 내용은 아래 글에서 확인 해보면 된다.깊이 우선 탐색(DFS.. 2025. 5. 7.