문제 유명한 정렬 알고리즘인 삽입 정렬은 정렬된 부분 배열을 유지하며 이 배열에 새 원소를 삽입해 나가는 식으로 동작합니다. 예를 들어 {5, 1, 4, 3, 2}의 삽입 정렬은 다음과 같이 이루어집니다. | 배열 | 비고 | |:----|:----| | 5 1 4 3 2 | 초기상태 | | 1 5 4 3 2 | 1을 왼쪽으로 1칸 옮김 | | 1 4 5...
문제 설명 H x W 크기의 게임판과 한 가지 모양의 블록이 여러 개 있다. 게임판에 가능한 한 많은 블록을 올려놓고 싶은데, 게임판은 검은 칸과 흰칸으로 구성된 격자 모양을 하고 있으며 이 중에서 흰 칸에만 블록을 올려놓을 수 있다. 이때 블록들은 자유롭게 회전해서 놓을 수 있지만, 서로 겹치거나, 격자에 어긋나게 덮거나, 검은 칸을 덮거나, 게임판 밖...
문제 집들이에 n명의 친구를 초대하려고 합니다. 할 줄 아는 m가지의 음식 중 무엇을 대접해야 할까를 고민하는데, 친구들은 각각 알러지 때문에 못 먹는 음식들이 있어서 아무 음식이나 해서는 안됩니다. 만들 줄 아는 음식의 목록과 해당 음식을 못 먹는 친구들의 목록이 주어진다고 합시다. 각 친구가 먹을 수 있는 음식이 최소한 하나씩은 있게 하려면 최소 몇...
문제 남극에는 n개의 탐사 기지가 있습니다. 남극의 겨울은 혹독하기 때문에, 겨울이 찾아오면 탐사 기지들 간의 왕래가 중단됩니다. 겨울에도 서로 통신하며 연구를 지속하기 위해, n개의 무전기를 구입해 각 탐사 기지에 배치해서 기지 간 연락망을 구축하려고 합니다. 모든 무전기의 통신 반경은 d이며, 두 탐사 기지는 사이의 거리가 d 이하여야만 서로 연락을 할...
HANOI4B Algorithm Focus 그래프의 노드 간 최단 경로를 구할 땐, 기본적으로 너비 우선 탐색 고려하기 그래프의 암시적 표현 (너비 우선 탐색을 할 경우, 인접 행렬/리스트 등을 통한 그래프의 직접적인 구현 없이도 큐 하나를 이용해 탐색이 가능) 그래프의 노드를 효율적으로 + 간단하게 표현하기 (이 문제에서 각 상태를 정수 하나로 나타냄)...