[Code Tree] 높이 차를 최소화 하기
·
백준 알고리즘
https://www.codetree.ai/ko/trails/complete/curated-cards/challenge-minimize-the-height-difference/description 높이 차를 최소화 하기 설명 | 코드트리높이 차를 최소화 하기의 요구사항을 정확히 분석하고, 적절한 알고리즘을 고안해 두 번째 단계 중급 문제를 해결해보세요.www.codetree.ai 풀이결론부터 말하자면 BFS와 Parametric Search를 활용하여 해결할 수 있는 문제이다. 이 문제를 풀기 위해 떠올렸던 사고 방식들을 순서대로 정리해보려고 한다. 첫 번째 방식 : Back Tracking + Parametric Search첫 번째 떠올린 방식은 Back Tracking 방식과 Parametric Se..
[CodeTree] 격자 칠하기 2
·
백준 알고리즘
https://www.codetree.ai/missions/8/problems/painting-the-grid-2/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 알고리즘bfsparametric search 이 문제는 결정 문제로 변환한 뒤 이진 탐색을 진행하는 평범한 parametric search 문제이다. bfs와 parametric search 기본 지식이 있으면 풀 수 있는 문제지만 초반에 시간 복잡도 계산을 잘못해서 한참 삽질을 해서 가져와 보았다. 이진 탐색으로 d의 범위를 좁히면서 조건을 만족하는 가장 작은 d를 찾으면..
[백준 1654 랜선 자르기][파이썬] Parametric Search (이분 탐색) 접근 방법
·
백준 알고리즘/이진 탐색
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 백준 1654번 문제는 이분 탐색을 이용하는 Parametric Search의 기본적인 문제이다. Parametric Search를 사용하기 위해서는 문제를 결정 문제로 바꿀 수 있어야 한다. 위 문제의 경우 자를 랜선의 길이를 임의로 x라고 했을 때 랜선 N개를 만들 수 있다면 True를, 없다면 False를 반환하는 문제로 바뀌게 된다. 그러면 이제 x의 최대 길이..