다음 글자를 찾기 위해 상하좌우 + 대각선으로 이동할 수 있고, 한 글자가 두 번 이상 사용될 수 있다.
제시된 연산을 활용하여, 주어진 수를 1로 만드는 최소 계산 횟수를 구하면 된다.
연산자 우선 순위는 무시하고, 첫 번째 요소부터 연산을 진행한다. 음수를 양수로 나눌 경우에는 양수로 바꾼 뒤 연산을 진행한 후 그 몫을 음수로 바꾼다.
소인수분해 과정을 출력하여야 한고, 출력 결과는 오름차순이어야 한다.
최소 소요시간을 만족하는 경우는 제일 마지막 사람이 기다리는 시간이 가장 작은 경우일 것이다. 이는 결국 오름차순으로 ATM을 사용하여야 한다는 것을 알 수 있다.
다리로 접근하는 트럭의 순서는 바꿀 수 없으며, 동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 L보다 작거나 같아야 한다. 또한 무게의 합을 계산할 때 다리 위에 완전히 올라가지 못한 트럭은 포함하지 않는다. 결국 어떤 시점 $ti$에
입력된 단어 W의 철자들만을 조합하여 만들 수 있는 모든 단어를 사전순으로, 중복 없이 출력하여야 한다. W의 각 철자들은 중복될 수 있다.
하노이 탑을 1번 장대에서 3번 장대로 옮기는 과정을 출력한다. 원판은 규칙을 지키며 옮겨야 한다. 한번에 하나씩 옮겨야 하고, 작은 원판은 큰 원판보다 항상 위에 있어야 한다.
문자열 S로부터 주어진 연산을 통해 T를 만들어낼 수 있는지를 판단하여야 한다.
조건에 맞는 암호를 사전순으로 출력한다.
1부터 N까지의 수 중 M개를 고른 수열을 오름차순으로 출력해야 한다.
무조건 종료 시간이 가장 이른 회의를 선택하는 것이 이득이다. 하지만 그 회의의 시작 시간이 기존에 선택한 회의와 충돌하지 않아야 한다.
km당 1L의 기름을 사용하며, 기름은 무제한으로 주유할 수 있으며 각 도시마다 싯가로 판매한다.
문제를 풀 때까지만 해도 필자는 다익스트라 알고리즘의 세부 구현을 몰랐다...그래서 가중치를 반영하는 DFS를 생각해봤다.전역 변수인 min_weights를 각 탐색마다 초기화한 다음 깊이 우선 탐색을 진행하며 최솟값을 업데이트 방법을 생각해봤다.