Matrix
-
matrix_Leetcode_54. Spiral Matrix알고리즘/알고리즘 문제풀이 2025. 4. 14. 17:42
https://leetcode.com/problems/spiral-matrix/description/?envType=study-plan-v2&envId=top-100-liked 문제접근1. DFS를 사용하여 matrix 탐색2. Flag를 사용하여 matrix 탐색위 두 방법을 썼을 때에, 최소 O(mn) ( 어찌 되었든 모든 cell을 방문해야 함 ) 줄단위 처리를 고민하며 아래 코드를 작성특정 경우에 줄단위 처리를 하여 조금 더 빠를 수도 있음! spiral을 제어하는 move같은경우 enum으로 작성하면 더 좋을 수 있지만,귀찮았기 때문에,,,,정답코드0msBeats100.00%19.73MBBeats41.55% -> 0.6MB 차이더보기class Solution { func spiralOrde..
-
matrix_Leetcode_240. Search a 2D Matrix II알고리즘/알고리즘 문제풀이 2025. 4. 10. 16:32
https://leetcode.com/problems/search-a-2d-matrix-ii/description/?envType=study-plan-v2&envId=top-100-liked 문제접근아이디어1주어진 매트릭스는 x,y가 증가하는 방향으로 이동하면 해당 index의 value가 증가한다.다만, (3,1)의 값이 (2,3) 보다 항상 크지 않다. 대소 비교는 각 행, 열 마다 개별적이다.bfs를 이용하여 조건에 맞는 index가 존재하는지 찾는다.아이디어2행 렬을 꼭 이동하지 않고, 그리디에 가깝게 풀어보기? 정답코드아이디어 1을 사용하여 정답을 맞춘 코드그런데, 129msBeats5.56% 로 성능이 좋지는 않다.더보기class Solution { struct Point: Hashab..
-
Matrix_LeetCode_73. Set Matrix Zeroes [swift]알고리즘/알고리즘 문제풀이 2025. 2. 25. 18:20
https://leetcode.com/problems/set-matrix-zeroes/description/?envType=study-plan-v2&envId=top-100-liked문제접근inPlace해야한다. ( 시간보다는 메모리를 중시)모든 element를 확인하며, 0을 찾는다.찾은 row,column위치에서 조건에 맞게 나머지 element를 변경한다.정답코드 더보기더보기class Solution { func setZeroes(_ matrix: inout [[Int]]) { matrix.enumerated().forEach { (row, columns) in columns.enumerated().forEach { (column,value) in ..
-
matrix_Leetcode_48. Rotate Image [swift]알고리즘/알고리즘 문제풀이 2025. 2. 19. 16:55
https://leetcode.com/problems/rotate-image/description/?envType=study-plan-v2&envId=top-100-liked 풀면서 이게 진짜 맞는 방법일까 의심을 정말 많이 한 문제문제접근특정 축 기준으로 대칭하는 방법이 있을것같은데,,, in-place 알고리즘 이라는 단서가 존재, 문제 내에서도 matrix의 새로운 instance의 생성을 금함.내부 변수를 교환해야하지만, swap할 경우 너무 복잡하므로, 변수하나를 선언하여 해당 공간에 일시 저장일시 저장한 데이터를 matrix의 적합한 좌표에 기입하고, 기입될 위치에 있던 값을 다시 일시저장정답코드더보기더보기class Solution { func rotate(_ matrix: inout [..