본문 바로가기

Leetcode

(107)
[Leetcode] 205. Isomorphic Strings - JS https://leetcode.com/problems/isomorphic-strings/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------- s, t 두 문자열이 주어질 때, 이들이 isomorphic(동형)인지 판단하라.- s의 문자를 대체하여 t의 문자로 바꿀 수 있으면 isomorphic(동형)이다.- 문자의 순서를 유지하면서 다른 문자로 바껴야 한다.제한조건--------------------- 1  2. 접근 방법접근방법--------------------두 문자열의 길이는 동일하므로 각 문자열이 포함한 유일한 문자의 갯수가 동일한지 판단한다.예를 들어, t 문자열은 3가지 문자로 이뤄져있고 s 문자열은 ..
[Leetcode] 383. Ransom Note - JS https://leetcode.com/problems/ransom-note/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------- ransomNote, magazine 두 문자열이 주어진다.- magazine으로 ransomNote가 구성될 수 있으면 true, 그렇지 않으면 false를 반환하라.- magazine에 있는 각 문자는 ransomNote에 한번씩만 사용될 수 있다.제한조건--------------------- 1  2. 접근 방법접근방법--------------------magazine 의 hashMap을 만들어 갯수를 카운팅한다.ransomNote를 순회하여 hashMap에서..
[Leetcode] 289. Game of Life - JS https://leetcode.com/problems/game-of-life/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------- 초기값 cell에 live면 1, dead면 0으로 나타난 m x n 구조- 각 cell은 8명의 이웃과 아래 4개의 규칙에 따라 상호작용한다.조건 1. 이웃한 cell 중 live가 2개 미만일 때, 자기 자신이 live면 죽는다.조건 2. 이웃한 cell 중 live가 2 ~ 3개일 때, 자기 자신이 live면 유지된다. 조건 3. 이웃한 cell 중 live가 3개 초과이고, 자기 자신이 live면 죽는다.조건 4. 이웃한 cell 중 정확히 3개 live가..
[Leetcode] 73. Set Matrix Zeroes - JS https://leetcode.com/problems/set-matrix-zeroes/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------- m x n 정수 행렬 matrix가 주어진다.- 요소가 0인 위치의 행, 열의 다른 요소들도 0으로 제자리에서 변경하라.제한조건--------------------- m == matrix.length- n == matrix[0].length- 1  2. 접근 방법접근방법--------------------0의 (i, j) 좌표를 알아내어, matrix[i][~] = 0 matrix[~][j] = 0 으로 바꿔준다.0이 여러 개 일수 있는데, 0의 i 좌표..
[Leetcode] 48. Rotate Image - JS https://leetcode.com/problems/rotate-image/?envType=study-plan-v2&envId=top-interview-150    1. 문제 분석문제분석--------------------- n x n 2차원 배열이 주어지면 이를 제자리에서 90도 시계 방향으로 돌려라.- 또 다른 2차원 배열에 할당하지 말라 !제한조건--------------------- n == matrix.length == matrix[i].length- 1  2. 접근 방법접근방법 Transpose(전치) + Reverse(좌우반전)--------------------1. 행과 열을 대각선을 기준으로 swap 한다.2. 행의 요소를 역순정렬한다.   3. 코드var rotate = functio..
[Leetcode] 54. Spiral Matrix - JS https://leetcode.com/problems/spiral-matrix/description/?envType=study-plan-v2&envId=top-interview-150    1. 문제 분석문제분석--------------------- m x n 행렬이 주어질 때, 나선 순서로 반환하라.제한조건--------------------- m === matrix.length- n == matrix[i].length- 1  2. 접근 방법접근방법--------------------left, right, top, bottom 포지션을 미리 지정해두고 각 지점별로 조건을 걸어 나선 순서를 만들어준다.예를 들어, 첫번째로 좌->우 방향으로 순서를 추가한 뒤 top++두번째로 상->하 방향으로 순서를 추가..
[Leetcode] 36. Valid Sudoku - JS https://leetcode.com/problems/valid-sudoku/description/?envType=study-plan-v2&envId=top-interview-150    1. 문제 분석문제분석--------------------- 9 x 9 스도쿠가 유효한지 판단하라.1. 각 열은 반복없는 1-9로 구성된다.2. 각 행은 반복없는 1-9로 구성된다.3. 각 3 x 3 부분 박스는 반복없는 1-9로 구성된다.제한조건--------------------- board.length === 9- board[i].length === 9- board[i][j]는 1-9 또는 '.'이다. 2. 접근 방법접근방법--------------------row, col 중첩 반복문을 통해 rows, cols ..
[Leetcode] 76. Minimum Window Substring - JS https://leetcode.com/problems/minimum-window-substring/description/?envType=study-plan-v2&envId=top-interview-150   1. 문제 분석문제분석--------------------문자열 s, t와 이들의 길이 m, n이 각각 주어진다.중복을 포함한 t 안의 모든 문자가 s의 부분 문자열이 되는 최소 window를 반환하라.부분 문자열이 없다면 빈 문자열을 반환하라.제한조건--------------------- m == s.length- n == t.length- 1  2. 접근 방법접근방법 - Sliding Window + Hash Table--------------------t 문자열의 hash table을 만들고 s..