본문 바로가기
반응형

알고리즘80

[Python] LeetCode - 64. Minimum Path Sum LeetCode 64번 Minimum Path Sum 문제는 (n,m)칸 까지 가는 최소경로를 구하는 문제다. 난이도는 Medium이며 DP를 통해 해결할 수 있다. 리트코드 64번 Minimum Path Sum 문제 정보 알고리즘 분류 - Dynamic Programming 난이도 - Medium 문제 요약 0이상의 정수로 채워진 mxn 그리드가 주어진다. 맨 왼쪽 위칸에서 맨 오른쪽 아래칸까지 가는 최소 경로를 구하라. 단, 오른쪽 또는 아래로만 이동할 수 있다. 문제 풀이 과정 각 칸까지 이동하기 위한 최솟값을 구한다. 왼쪽 or 위쪽에 저장된 값 중 더 작은 값을 더한다. 코드 class Solution: def minPathSum(self, grid: List[List[int]]) -> int.. 2023. 3. 27.
[Python] LeetCode - 1319. Number of Operations to Make Network Connected LeetCode 1319번 Number of Operations to Make Network Connected 문제는 그래프 탐색 관련 문제다. 난이도는 Medium이며 DFS/BFS를 통해 해결할 수 있다. 리트코드 1319번 문제 정보 알고리즘 분류 - 그래프 탐색 난이도 - Medium 문제 요약 0부터 n-1까지의 컴퓨터 n개, 그리고 컴퓨터간에 연결된 이더넷 케이블을 나타내는 connections가 주어진다. 케이블을 옮겨서 모든 컴퓨터가 연결되도록 하려면 최소 몇개의 케이블을 옮겨야 하는지 구하라. 케이블이 모자라면 -1을 반환한다. 문제 풀이 과정 초기 상태에서 몇개의 그룹이 생기는지 구한다. 그룹들을 잇기 위해 필요한 케이블 개수 (그룹 수) - 1을 반환한다. 전체 케이블 개수가 필요한 .. 2023. 3. 23.
[Python] LeetCode - 2492. Minimum Score of a Path Between Two Cities LeetCode 2492번 Minimum Score of a Path Between Two Cities 문제는 그래프 탐색 문제다. 난이도는 Medium이며 DFS 등의 그래프 탐색 알고리즘을 통해 해결할 수 있다. 리트코드 2492번 문제 정보 알고리즘 분류 - 그래프 탐색 난이도 - Medium 문제 요약 1번부터 n번까지 n개의 도시가 주어진다. 두 도시 사이를 잇는 양방향의 도로의 점수 리스트가 주어진다. 모든 도시가 서로 꼭 이어져 있는 것은 아니다. 도시 1부터 도시 n까지 가는 경로에 있는 최소 점수를 구하라. 지나간 도로를 다시 지나가도 된다. 문제 풀이 과정 지나간 도로를 다시 지나가도 되며, 지나갈 때마다 점수가 누적되는 방식이 아니라 그냥 최소 점수만 구하는 것이므로, 1번 도시에 이.. 2023. 3. 22.
[Python] LeetCode - 2348. Number of Zero-Filled Subarrays LeetCode 2348번 Number of Zero-Filled Subarrays 문제는 배열에 존재하는 0으로 된 부분배열을 구하는 문제다. 난이도는 Medium이다. 리트코드 2348번 Number of Zero-Filled Subarrays 문제 정보 알고리즘 분류 - Greedy 난이도 - Medium 문제 요약 정수로된 배열 nums가 주어졌을 때, 0으로 된 subarray의 개수를 구하라. 문제 풀이 과정 선형탐색 하면서 0이 몇개씩 이어져있는지 확인한다. 0 N개로 이루어진 배열의 subarray는 총 N(N+1)/2개이다. 코드 class Solution: def zeroFilledSubarray(self, nums: List[int]) -> int: ans = 0 zero_cnt = .. 2023. 3. 21.
반응형