현실의 다리는 직각으로 꺾이지 않지만 컴퓨터라면..?
당신을 해킹하려 합니다. 가장 빠르게!
행복한 추석에 우리는 분석을 한다네~
백준 온라인 저지 2513번 통학 버스 문제의 자바 풀이
그리디 알고리즘으로 누적합과 수의 관계를 풀어내보자
트리의 지름을 이해하고 응용 해봅시다!
이분 탐색과 투 포인터를 응용해 주어진 조건을 만족하는 값을 찾아봅시다!
우리는 다익스트라 알고리즘으로 한 지점으로부터 다른 지점으로의 가장 짧은 거리를 알 수 있다. 그렇다면 모든 지점으로부터의 가장 짧은 거리는 어떻게 판단해야 할까?
우리는 보석 가게에 들어온 도둑입니다. 이제 최대 이익 실현을 위해서 무엇을 훔칠 지 골라봅시다!
자료구조로 쉽게 떠올릴 수 있지만 조금 더 최적화를 할 순 없을까요? 수학과 정수론으로 우리의 시야를 넓혀봅시다!
가장 작은 유지비를 갖는 도로들을 구하고, 이를 분할해 봅시다!
상어, 먹는다, 가장 많은 먹이! BFS로 최단 거리를 탐색하여 먹이를 구할 수 있습니다. 이제 모든 먹이를 찾아 봅시다.
DFS는 목적지로 가기 위한 경우의 수를 계산하기에 적합합니다. 이젠 더 나아가 경우의 수를 늘려서 DP와 함께 늘려보며 생각해야 합니다.
최소 신장 트리 알고리즘으로 최소 비용의 연결을 할 수 있습니다.
그래프의 탐색으로 빙산을 녹여야 합니다!
고슴도치가 물에 잠기지 않으려면 최대한 빠른 경로를 탐색해야 합니다. 그래프에서 최대한 빠른 경로를 탐색하는 방법인 BFS로 고슴도치를 구해줍시다!
보통 연결을 묻는 문제는 그래프를 통해서 해결하는 경우가 많습니다. 하지만 연결만 되어있다는 판단만 필요한 경우 분리 집합을 떠올려 볼 수 있습니다.
BFS는 범용성이 크지만 메모리를 많이 사용하게 됩니다. 특수한 경우에 DP + DFS로 해결하는 방법을 알아봅시다.
문제에서 요구하는 조건들을 작은 단위로 나누어 구현해봅시다.
너비 우선 탐색을 재귀 호출해서 결과값을 도출해 봅시다.
기업에 투자를 해봅시다. 최대 이익은 어떻게 하면 구할 수 있을까요?
녹색 옷을 입은 캐릭터는 링크입니다.
프로그래머스의 순위 문제와 거의 동일합니다. 문제에 힌트가 그대로 있기 때문에 쉽게 접근할 수 있습니다.
BFS 에서 지나온 경로를 저장한 경험을 살려 한 차원 더 높게 생각해봅시다.