[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를 찾으면..
[CodeTree] 우리는 하나
·
백준 알고리즘
https://www.codetree.ai/missions/2/problems/we-are-the-one/description 알고리즘조합bfsn x n개의 도시 중 k개의 도시를 선택한 뒤 각각의 경우에 대해 bfs를 진행하면 되는 이유다. 문제 자체는 평범하지만 시간 초과가 발생했고 조합에서 시간을 줄일 수 있는 문제라서 가져와보았다. 풀이 과정변수 import sysinput = sys.stdin.readline# 동서남북dx = [0, 0, 1, -1]dy = [1, -1, 0, 0]# n : 격자의 크기 n x n# k : 고를 도시의 수 # u : 최저 높이 차# d : 최고 높이 차n, k, u, d = map(int, input().split())arr = [list(map(int, inp..