본문 바로가기
728x90

전체 글331

백준 11066번 파일 합치기 C++ 1. 문제 설명메모장에 쓰여진 파일을 합쳐서 최종적으로 완성본을 한 개의 파일로 만들려고 한다.이 과정에서 두 개의 파일을 합쳐서 하나의 임시파일을 만들고,임시파일 또는 원래의 파일을 계속 두 개씩 합쳐서 소설의 여러 장들이 연속이 되도록 파일을 합한다.최종적으로는 하나의 파일로 만듬두개의 파일을 합칠떄 드는 시간이 두 파일의 크기의 합이라고 가정할 때,최종적인 한 개의 파일을 완성하는데 필요한 비용의 총 합을 구하는 문제이다.처음 조합을 이용한 dfs라고 생각하였으나 dp 누적합 문제였다. 2025. 6. 4.
백준 2667번 단지번호붙이기 C++ 1.문제 설명정사각형 모양의 지도가 있다.1 = 집, 0 = 집이 없는 곳이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지가 몇개인지, 단지안에 있는 집의 개수가 몇개인지를 구하려고한다.대각선은 연결된 집으로 하지 않는다.생성된 단지의 수를 첫째줄에 다음 줄 부터는 가장 작은 단지의 집의 수부터 오름차순으로 출력한다. 현재 좌표가 1이며, 방문하지 않는 좌표를 시작으로 상하좌우 탐색 queue가 빌때까지 반복하며 더 이상 1이 없으면 단지가 끝난것으로 간주하고 여지껏 붙어있는 집의 개수를 리턴하여 벡터에 저장한다.그 후 다음 방문하지 않은 집을 찾고 위의 과정을 반복하여 주는 bfs문제이다. 2025. 6. 2.
백준 15686번 치킨 배달 C++ 1. 문제 설명크기가 N x N인 도시가 있다.도시의 각 칸은 빈칸과 치킨집, 집 중 하나로 되어있다.0 = 빈칸 , 1 = 집, 2 = 치킨집으로 되어있다.도시의 각 칸은 (r,c)와 같은 형태로 r행 c열로 나타낸다.각각의 집에서 가장 가까운 치킨 거리가 존재하는데집에서 치킨집의 거리는 (r1 - r1) + (c1 - c2)를 절대값으로 표현한다. 가장 수익을 많이 낼 수 있는 치킨집의 개수는 최대 m개 이다.도시에 있는 치킨집 중에서 m개를 선택해 나머지를 전부 폐업한다고 하였을 때,도시의 치킨 거리가 가장 작게 되는지를 구한다.도시의 치킨 거리는 , 도시에 있는 집에서의 치킨집과의 거리를 구한 값을 모두 더한값이다. dfs 백트래킹을 통해 치킨집을 골라 조합 선택을 하며 반복해 가장 작읍 값을 .. 2025. 6. 2.
백준 16928번 뱀과 사다리 게임 C++ 1. 문제설명10 x 10 보드판맵이 있고, 해당 보드판은 1 ~ 100까지 수가 순서대로 적혀있다.플레이어는 주사위를 굴려 나온 수 만큼 이동이 가능한데플레이어가 i번째 칸에 있고, 주사위의 수가 4라면 i + 4만큼 이동해야 한다.만약 주사위를 굴린 결과가 100을 넘어가면 이동이 불가능하다.도착한 칸이 사다리라면, 사다리를 타고 위로 올라가고뱀이 있는 칸에 도착하면, 뱀을 따라 내려가게 된다.게임의 목표는 1번 칸에 시작해 100번째 칸에 도착하는 것이다.주사위를 조작할 수 있다고 하였을때, 100번째에 도착하기 위해 굴려야 하는 주사위 횟수를 구하는 문제이다. 따로 방향키가 필요 없이 주사위의 수를 더하며 이동하면 되기 때문에한줄 배열로 101칸 짜리를 만들어준다, 1 ~100 숫자를 순서대로 넣.. 2025. 6. 1.
728x90