[프로그래머스/level 4] 지형 이동 - 62050
·
코딩 테스트 정복기/프로그래머스
[level 4] 지형 이동 - 62050문제 링크성능 요약메모리: 97.8 MB, 시간: 82.65 ms구분코딩테스트 연습 > Summer/Winter Coding(2019)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 12월 18일 01:09:54문제 설명N x N 크기인 정사각 격자 형태의 지형이 있습니다. 각 격자 칸은 1 x 1 크기이며, 숫자가 하나씩 적혀있습니다. 격자 칸에 적힌 숫자는 그 칸의 높이를 나타냅니다.이 지형의 아무 칸에서나 출발해 모든 칸을 방문하는 탐험을 떠나려 합니다. 칸을 이동할 때는 상, 하, 좌, 우로 한 칸씩 이동할 수 있는데, 현재 칸과 이동하려는 칸의 높이 차가 height 이하여야 합니다. 높이 차가 height 보다 많이 나는 경우..
[백준/Silver II] A → B - 16953
·
코딩 테스트 정복기/백준
[Silver II] A → B - 16953문제 링크성능 요약메모리: 22564 KB, 시간: 204 ms분류너비 우선 탐색, 그래프 이론, 그래프 탐색, 그리디 알고리즘제출 일자2024년 12월 9일 17:18:21문제 설명정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다.2를 곱한다.1을 수의 가장 오른쪽에 추가한다.A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자.입력첫째 줄에 A, B (1 ≤ A 9)가 주어진다.출력A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다.     풀이 및 코드연산은 2를 곱하거나 1을 더하거나 원래의 값이 더 커질 수 밖에 없다.즉, 원래의 값이 B보다 크면 탐색을 이어갈 필요가 없다...
[백준/Silver II] N과 M (12) - 15666
·
코딩 테스트 정복기/백준
[Silver II] N과 M (12) - 15666문제 링크성능 요약메모리: 22900 KB, 시간: 216 ms분류백트래킹제출 일자2024년 12월 7일 03:47:35문제 설명N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.N개의 자연수 중에서 M개를 고른 수열같은 수를 여러 번 골라도 된다.고른 수열은 비내림차순이어야 한다.길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다.입력첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다.출력한 줄에 하나씩 문제의 조건을 만족하는 수열..
[백준/Silver III] N과 M (4) - 15652
·
코딩 테스트 정복기/백준
[Silver III] N과 M (4) - 15652문제 링크성능 요약메모리: 15976 KB, 시간: 84 ms분류백트래킹제출 일자2024년 12월 6일 04:35:21문제 설명자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 M개를 고른 수열같은 수를 여러 번 골라도 된다.고른 수열은 비내림차순이어야 한다.길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다.입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 ..
[백준/Gold V] 내려가기 - 2096
·
코딩 테스트 정복기/백준
[Gold V] 내려가기 - 2096문제 링크성능 요약메모리: 50928 KB, 시간: 324 ms분류다이나믹 프로그래밍, 슬라이딩 윈도우제출 일자2024년 12월 5일 04:15:08문제 설명N줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다. 내려가기 게임을 하고 있는데, 이 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 되는 놀이이다.먼저 처음에 적혀 있는 세 개의 숫자 중에서 하나를 골라서 시작하게 된다. 그리고 다음 줄로 내려가는데, 다음 줄로 내려갈 때에는 다음과 같은 제약 조건이 있다. 바로 아래의 수로 넘어가거나, 아니면 바로 아래의 수와 붙어 있는 수로만 이동할 수 있다는 것이다. 이 제약 조건을 그림으로 나타내어 보면 다음과 같다.별표는 현재 위치이고, 그 아랫 줄의 파란 동그라미는..
[프로그래머스/level 3] 외벽 점검 - 60062
·
코딩 테스트 정복기/프로그래머스
[level 3] 외벽 점검 - 60062문제 링크성능 요약메모리: 87.8 MB, 시간: 41.07 ms구분코딩테스트 연습 > 2020 KAKAO BLIND RECRUITMENT채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 12월 05일 03:42:19문제 설명레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 도중에 주기적으로 외벽의 상태를 점검해야 할 필요가 있습니다.레스토랑의 구조는 완전히 동그란 모양이고 외벽의 총 둘레는 n미터이며, 외벽의 몇몇 지점은 추위가 심할 경우 손상될 수도 있는 취약한 지점들이 있습니다. 따라서 내부 공사 도..
[백준/Gold III] 벽 부수고 이동하기 - 2206
·
코딩 테스트 정복기/백준
[Gold III] 벽 부수고 이동하기 - 2206문제 링크분류너비 우선 탐색, 그래프 이론, 그래프 탐색문제 설명N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다.만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다.한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다.맵이 주어졌을 때, 최단 경로를 구해 내는 프로그램을 작성하시오.입력첫째..
[백준/Gold IV] 플로이드 - 11404
·
코딩 테스트 정복기/백준
[Gold IV] 플로이드 - 11404문제 링크분류플로이드–워셜, 그래프 이론, 최단 경로문제 설명n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다.모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 버스의 정보는 버스의 시작 도시 a, 도착 도시 b, 한 번 타는데 필요한 비용 c로 이루어져 ..
[백준/Gold IV] 트리의 지름 - 1967
·
코딩 테스트 정복기/백준
[Gold IV] 트리의 지름 - 1967문제 링크분류깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리문제 설명트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다.이런 두 노드 사이의 경로의 길이를 트리의 지름이라고 한다. 정확히 정의하자면 트리에 존재하는 모든 경로들 중에서 가장 긴 것의 길이를 말한다.입력으로 루트가 있는 트리를 가중치가 있는 간선들로 줄 때, 트리의 지름을 구해서 출력하는 프로그램을 작성하시오. 아래와 같은 트리가..