[Medium] 54. Spiral Matrix (Microsoft)
#문제 설명 Leetcode 54번 문제는 m x n matrix 가 주어진다. matrix의 값은 1부터 n까지의 정수로 채워진다. 정수의 순서는 matrix에 나션형 모양으로 나열된다. 우리는 이 matrix를 나선형 (matrix[0][0] 에서 시작해서 오른쪽끝, 맨 아래, 맨 왼쪽, 위로를 matrix의 전체가 커버 될때까지 반복한다). 이 과정에서 각 index를 지날때마다, index에 있는 정수 값들을 list에 add해주면 된다, 그리고 그 list를 return해주면 된다. #문제 풀이 이 문제는 총 네가지 (오른쪽, 아래, 왼쪽, 위) traverse하는 경우가있기때문에, 그 index들을 tracking하는 variable를 만들고, 그 varible들 (matrix index)을 ..
[Medium] 378. Kth Smallest Element in a Sorted Matrix (아마존)
#문제 설명 378번 문제는 정수 k와 n x n 정사각형 matrix가 주어지고, matrix의 각 칸에는 정수들이 담겨있다. 이 문제에서는 matrix안에서 정수 k번째로 작은 정수들을 전부 return해주면 된다. 예를 들어 [[1,5,9], [10,11,13] , [12,13,15]] 라는 2d 매트릭스가 주어지고 정수 k = 4가 주어지면, matrix안의 4번째로 작은 10을 return해주면 된다. #문제 풀이 class Solution { public int kthSmallest(int[][] matrix, int k) { PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); for(int i = 0; i < matr..