https://www.acmicpc.net/problem/11663일차원 좌표상의 점 N개와 선분 M개가 주어진다. 이때, 각각의 선분 위에 입력으로 주어진 점이 몇 개 있는지 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ N, M ≤ 100,0001 ≤ 입력으로 주어지는 모든 좌표 ≤ 1,000,000,000 아래 링크에 적어둔 upper_bound()와 lower_bound()를 사용해 답을 구할 수 있다. 해당 함수들을 사용하려면 탐색 대상이 되는 배열을 ..
백준
https://www.acmicpc.net/problem/17266굴다리의 모든 길 0~N을 밝히게 가로등을 설치하려고 한다. 가로등을 설치할 개수 M과 각 가로등의 위치 x들은 정해져있다. 가로등의 높이가 H라면 왼쪽으로 H, 오른쪽으로 H만큼 주위를 비춘다.가로등의 높이가 모두 같고 최소한의 높이로 굴다리의 모든 길 0~N을 밝히고자 할 때, 가로등의 최소 높이를 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ N ≤ 100,0001 ≤ M ≤ N0 ≤ x ≤..
https://www.acmicpc.net/problem/13335강을 가로지르는 하나의 차선으로 된 다리가 있다. 이 다리를 n개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리의 길이는 w 단위길이이며, 각 트럭들은 하나의 단위시간에 하나의 단위길이만큼만 이동할 수 있다고 가정한다. 즉, 다리 위에는 w대의 트럭만 동시에 올라갈 수 있다. 다리 위에 올라가 있는 모든 트럭들의 무게의 합은 다리의 최대하중인 L을 넘을 수 없다.다리의 길이 w와 다리의 최대하중 L, 그리고 다리를 건너려는 트럭들의 무게가 순서대로 주어질 때, 모든 트럭이 다리를 건너는 최단시간을 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과..
https://www.acmicpc.net/problem/261519 × 19 크기의 바둑판에 같은 색의 바둑알이 연속으로 다섯 알이 놓여 있는 경우 그 색이 이기게 된다. 여기서 연속적이란 가로, 세로 또는 대각선 방향 모두를 뜻한다. 즉, 아래의 그림은 검은색이 이긴 경우이다. 그러나 여섯 알 이상이 연속적으로 놓인 경우에는 이긴 것이 아니다.입력으로 바둑판의 어떤 상태가 주어졌을 때, 검은색이 이겼는지, 흰색이 이겼는지, 또는 아직 승부가 결정되지 않았는지를 판단하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. ..
https://www.acmicpc.net/problem/2503영수는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 마음속으로 생각한다. 민혁이는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 영수에게 묻는다. 민혁이가 말한 세 자리 수에 있는 숫자들 중 하나가 영수의 세 자리 수의 동일한 자리에 위치하면 스트라이크 한 번으로 센다. 숫자가 영수의 세 자리 수에 있긴 하나 다른 자리에 위치하면 볼 한 번으로 센다. 민혁이가 영수의 세 자리 수를 정확하게 맞혀 3 스트라이크가 되면 게임이 끝난다. 아니라면 민혁이는 새로운 수를 생각해 다시 영수에게 묻는다. 민혁이의 물음들과 각각의 물음에 대한 영수의 답이 입력으로 주어질 때, 영수가 생각하고 있을 가능성이 있는 답의 총 ..
https://www.acmicpc.net/problem/13567로봇은 명령어를 읽어 들여 정사각형 영역 S를 x축 또는 y축과 평행한 방향으로 움직인다. S의 왼쪽 아래 꼭짓점은 (0, 0)이고, 오른쪽 위의 꼭짓점은 (M, M)이다. 처음에 로봇은 (0, 0)에 위치해 있고, 동쪽 방향을 향하고 있다. 명령어는 로봇이 현재 위치에서 행할 동작과 그 동작과 관련된 값으로 주어진다. 동작은 두 가지가 있는데, TURN과 MOVE이다.TURN 0: 현재 위치에서 왼쪽으로 90도 회전TURN 1: 현재 위치에서 오른쪽으로 90도 회전MOVE d: 로봇이 향하고 있는 방향으로 d만큼 움직이기명령 수행 후 로봇이 S의 범위를 벗어난다면 이 명령어는 유효하지 않다. 일련의 명령어 열을 이루는 각 명령어가 모두 ..
https://www.acmicpc.net/problem/12865준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 있다. 준서는 최대 K만큼의 무게만을 넣을 수 있는 배낭만 들고 다니므로 최대한 즐거운 여행을 하기 위해 배낭에 넣을 수 있는 물건들의 가치의 최댓값을 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ N ≤ 1001 ≤ K ≤ 100,0001 ≤ ..
https://www.acmicpc.net/problem/2096N줄에 0 이상 9 이하의 정수가 세 개씩 적혀 있다. 내려가기 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 되는 놀이다. 먼저, 처음에 적혀 있는 세 개의 정수 중에서 하나를 골라 시작하게 된다. 그리고 다음 줄로 내려가는데, 다음 줄로 내려갈 때는 다음과 같은 규칙이 있다. 바로 아래 있는 수로 넘어가거나, 아래 있는 수와 붙어 있는 수로만 이동할 수 있다는 것이다.숫자표가 주어져 있을 때, 얻을 수 있는 최대 점수와 최소 점수를 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸..
https://www.acmicpc.net/problem/1149RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다.집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구하는 문제다.1번 집의 색은 2번 집의 색과 같지 않아야 한다.i(2≤i≤N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다.N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파..
https://www.acmicpc.net/problem/14430WOOK은 언제나 제한된 범위 내에서 자원을 탐색하며, 왼쪽 위 (1,1)부터 오른쪽 아래 (N,M)까지 자원을 탐색한다. WOOK은 한 번에 오른쪽 또는 아래쪽으로 한 칸만 이동할 수 있다. WOOK은 자신이 위치한 (x,y)에 자원이 있는 경우에만 해당 자원을 채취할 수 있다. WOOK이 탐사할 영역에 대한 정보가 주어질 때, WOOK이 탐색할 수 있는 자원의 최대 숫자를 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고..