Algorithm 4

[Programmers] 지형 이동

summer/winter coding(2019) 문제 https://programmers.co.kr/learn/courses/30/lessons/62050 코딩테스트 연습 - 지형 이동 [[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18 programmers.co.kr N x N 크기인 정사각 격자 형태의 지형이 있습니다. 각 격자 칸은 1 x 1 크기이며, 숫자가 하나씩 적혀있습니다. 격자 칸에 적힌 숫자는 그 칸의 높이를 나타냅니다. 이 지형의 아무 칸에서나 출발해 모든 칸을 방문하는 탐험을 떠나려 ..

Algorithm 2022.05.08

[Programmers] 멀쩡한 사각형

summer/winter coding(2019) 문제 문제 코딩테스트 연습 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 가로 길이가 W cm, 세로 길이가 H cm 인 직사각형 종이가 있고, 종이는 1cm X 1cm 의 격자칸이 있다. 종이를 왼쪽 위 꼭지점에서 오른쪽 아래 꼭지점으로 대각선을 그을 때, 종이에 남아있는 정사각형의 개수를 구하는 문제이다. 제한사항 W, H : 1억 이하의 자연수 해결 방법 대각선에 대한 기울기와 접점으로 일차함수 식을 구해서 문제를 해결했다. 위의 그림과 같이, 왼쪽 아래를 기준으로 좌표를 정하고 대각선의 식을 구했다. 대각선을 지나는 사각형의 개수를 전체 개수에서 빼는 방법으로 식을 작성했다. 대각선을 지나는 것을 확..

Algorithm 2022.05.07

[백준] 18111 마인크래프트

백준 18111 마인크래프트 https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net [문제] 집을 짓는데 집터를 다지는 문제이다. 집터의 땅의 높이를 일정하게 만들어 평평하게 만들어야 한다! 두 종류의 작업을 할 수 있다. 좌표 (i, j)의 가장 위에 있는 블록을 제거하여 인벤토리에 넣는다. 인벤토리에서 블록 하나를 꺼내어 좌표 (i, j)의 가장 위에 있는 블록 위에 놓는다. 1번 작업은 2초가 걸리며, 2번 작업은 1초가 걸린다. 최대한 빨리 ..

Algorithm 2022.01.30

[백준] 18625 평범한 배낭

https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 1. DFS 입력 값 N, K에 대하여, N은 물품의 수이고, K는 준서가 버틸 수 있는 무게이다. K 무게를 넣을 수 있고, 입력받은 물건을 차례로 인덱스를 부여할 때, 해당 인덱스부터 탐색하여 가능한 경우를 찾는다. 가능한 경우는 1) 물건을 넣지 않는 경우, 2) 물건을 넣는 경우가 있고, 1) 의 값과 2) + 물건의 가치 ..

Algorithm 2021.11.29