Minjun Kim

Minjun Kim

[PS] BOJ 17383 / 옥토끼는 통신교육을 풀어라!!
PS

[PS] BOJ 17383 / 옥토끼는 통신교육을 풀어라!!

문제 링크: https://www.acmicpc.net/problem/17383 아이디어만 떠올리면 구현은 어렵지 않은 문제입니다. 풀이 최적화 문제 생각해보기 문제를 처음 보면 각 문제를 어떻게 배치해 풀어야 하는지 고민이 되지만, 문제가 아닌 시간 간격에 초점을 둬봅시다. tncks0121는 항상 각 문제가 풀리는 시간의 차이에만 신경을 씁니다. 문제를 어떻게 푸는지는 상관 없이, 한
4 min read
[PS] BOJ 21772 / 가희의 고구마 먹방
PS

[PS] BOJ 21772 / 가희의 고구마 먹방

문제 링크: https://www.acmicpc.net/problem/21772 백트래킹으로 고구마를 최대한 많이 먹어봅시다. 풀이 백트래킹 가희는 1개의 시작점에서 시작해, 주어진 격자 그래프를 탐색하며 $T$초 이내 ($1 \leq T \leq 10$)에 고구마를 최대한 많이 먹으려고 합니다. $T$가 작은 수 이므로, 백트래킹을 통해 가능한 경우를 모두 찾아서 최댓값을 구하면
2 min read
[PS] BOJ 1613 / 역사
PS

[PS] BOJ 1613 / 역사

문제 링크: https://www.acmicpc.net/problem/1613 플로이드-워셜을 통해 모든 정점들 사이의 연결 관계를 파악하는 문제입니다. 풀이 플로이드-워셜 오랜만에 푸는 플로이드-워셜 문제인 만큼, 개념을 다시 정리해 봅시다. 플로이드-워셜은 모든 정점에서 다른 모든 정점으로의 최단 경로를 계산하는 알고리즘입니다. 3중 반복문으로 동작하기 때문에, $V$개의 정점에 대해, 시간 복잡도는 $O(V^
2 min read
[PS] BOJ 14938 / 서강그라운드
PS

[PS] BOJ 14938 / 서강그라운드

문제 링크: https://www.acmicpc.net/problem/14938 다익스트라 문제입니다. 풀이 다익스트라 오랜만에 푸는 다익스트라 문제인 만큼, 다익스트라 알고리즘의 개념을 다시 정리해 봅시다. 다익스트라 알고리즘은 정점을 기준으로 최단 경로를 찾는 알고리즘이며, 한 개의 정점에서 다른 모든 정점으로의 최단 경로를 계산합니다. 아래는 우선순위 큐 기반의 다익스트라 구현입니다. from heapq import heappop,
2 min read
[PS] BOJ 1759 / 암호
PS

[PS] BOJ 1759 / 암호

문제 링크: https://www.acmicpc.net/problem/1759 백트래킹 문제입니다. 백트래킹을 거쳐 완성한 암호가 답이 될지 안될지를 잘 판단해야 합니다. 풀이 올바른 암호의 조건 문제에서 요구하는 올바른 암호의 조건은 다음과 같습니다. * 암호의 길이는 $L$입니다. * 암호는 미리 주어진 $C$개의 알파벳으로만 구성됩니다. * 암호는 반드시 사전순으로 증가하는 순서로 구성되어야 합니다. * abc는
4 min read
[PS] BOJ 1865 / 웜홀
PS

[PS] BOJ 1865 / 웜홀

문제 링크: https://www.acmicpc.net/problem/1865 벨만-포드 알고리즘을 활용하는 문제입니다. 풀이 벨만-포드 이해하기 벨만-포드 알고리즘의 기본적인 설명은 이전 글을 참고해주세요. 벨만-포드 알고리즘은 다익스트라 알고리즘과 같이 한 개의 정점에서 다른 모든 정점으로의 최단 경로를 계산합니다. 따라서, 출발점에서 도달할 수 없는 정점들에 대해선 경로가 계산되지 않으며, 이러한 정점들을 거치는 음의
3 min read
[PS] BOJ 4195 / 친구 네트워크
PS

[PS] BOJ 4195 / 친구 네트워크

문제 링크: https://www.acmicpc.net/problem/4195 분리 집합을 활용해 풀 수 있는 문제입니다. 단, 두 문자열 간의 연결 관계가 주어지므로 맵을 활용해야 합니다. 풀이 분리 집합 기반의 Union-Find 알고리즘 분리 집합은 흔히 다익스트라 구현에서 사이클 여부를 판단하기 위해 사용하는 자료구조로, 여러 원소들을 단일 집합으로 합치고, 임의의 두 원소가
2 min read
[PS] BOJ 7562 / 나이트의 이동
PS

[PS] BOJ 7562 / 나이트의 이동

문제 링크: https://www.acmicpc.net/problem/7562 격자 그래프 상에서의 그래프 탐색 문제입니다. 풀이 격자 그래프 상의 그래프 탐색 이제는 익숙한 문제 유형입니다. DFS 또는 BFS를 사용해, 2차원 배열 내의 각 좌표의 방문 여부를 기록하며 목적지를 찾아가면 됩니다. 다만, 상하좌우로의 단순한 이동이 아닌 나이트의 이동이므로 다음 좌표를 적절히 계산해주면
2 min read
[PS] BOJ 11657 / 타임머신
PS

[PS] BOJ 11657 / 타임머신

문제 링크: https://www.acmicpc.net/problem/11657 최단 경로를 찾는 문제입니다. 단, 간선의 가중치가 음수로도 주어집니다. 풀이 최단 경로? 1개의 정점에서 다른 모든 정점으로의 최단 거리를 계산해야 합니다. 다익스트라를 먼저 떠올렸지만, 다익스트라 알고리즘은 음의 간선을 포함하는 경우 최단 경로를 찾을 수 없습니다. 음의 간선을 포함하는 그래프에서 최단 경로를 구하기
5 min read
[월말정산] 25년 8~9월의 이야기
Life

[월말정산] 25년 8~9월의 이야기

Thumbnail: Photo by Pauline Bernard (Unsplash) 8월~9월 회고입니다. 무엇을 했나요? 0) 훈련이 있었습니다. 8월 한 달 간은 훈련으로 인해 바쁜 하루를 보냈습니다. 그래도 간단한 문제라도 풀면서 스트릭은 꾸준히 유지했습니다 😄 1) 1일 1백준을 실천하고 있습니다. 이제는 매 월말 정산마다 반복해서 적고 있는 내용입니다. 어느덧 스트릭이 122일이 되었네요! (9월 30일 기준
5 min read