목록전체 글 (709)
N
https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr Map을 활용하여 문제 풀이. 현재 좌표를 나타내는 x, y를 선언하고 5를 저장한다. -5 ~ 5의 좌표를 가지는데 이를 보정하여 0 ~ 10의 좌표를 가지도록 한다. 그렇기 때문에 시작 좌표는 0, 0이 아닌 5, 5가 된다. rangeCheck 함수는 들어온 인자(좌표)가 범위를 벗어나는지 확인한다. 범위를 벗어나면 0 또는 10을 리턴하여 움직이지 않도록 한다. 범위를 벗어나지 않는다면 그대로 x값을 리턴. for문으로 dirs를 순회. go, back 변수를 이용하여 이전에 방문한 적이 있는지 확인하기로 한다. 또한, cx와 cy를 ..
https://leetcode.com/problems/valid-sudoku/ Valid Sudoku - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com /** * @param {character[][]} board * @return {boolean} */ var isValidSudoku = function(board) { const rowCheck = (num, x, y) => { for(let i = x + 1; i < 9; i++){ if(board[i][y..
https://leetcode.com/problems/letter-case-permutation/ Letter Case Permutation - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 백트랙킹 활용. dfs() 함수에 s와 시작 인덱스 0을 넘겨 시작한다. 만약 i === s.length와 같다면 answer에 지금까지 진행한 문자열 s를 넣고 종료한다. 그렇지 않다면 계속 문자열을 탐색한다. 현재 i번째 인덱스가 문자라면 대문자로 바꾸거나 소문자로 바꿔..
https://leetcode.com/problems/rotting-oranges/ Rotting Oranges - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com BFS 활용. m x n 크기의 grid를 BFS 전에 한번 훑어준다. grid를 순회하면서 멀쩡한 오렌지(grid[i][j] === 1)가 있으면 orange++을 한다. 그렇지 않고 썩은 오렌지(grid[i][j] === 2)가 있다면 queue에 해당 좌표를 넣어준다. 한번 순회가 끝나고, ora..
https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ Best Time to Buy and Sell Stock - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com var maxProfit = function(prices) { const length = prices.length; let buy = prices[0]; let profit = 0; for(let i = 1; i < length; i++){ bu..
https://leetcode.com/problems/permutation-in-string/ Permutation in String - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com HashMap을 이용. 문제는 풀었지만 시간이 간당간당하게 통과해서, 더 큰 문자열이 들어오면 다른 알고리즘을 써야할 것 같다. 투포인터를 이용한 문제인 것 같다. map을 선언해서 s1에 존재하는 모든 문자를 카운팅한다. 이후 s2를 순회하면서, map에 해당 문자가 있는지 확인..
https://leetcode.com/problems/max-area-of-island/ Max Area of Island - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com BFS 탐색 이용. m x n 크기의 visited 배열을 false로 초기화. 4방향 탐색을 위한 direct 배열도 선언. answer = 탐색한 area 중 가장 큰 값을 저장한다. bfs 함수는 x, y 값을 매개 변수로 받으며, 이 값을 통해 인접한 4방향 중 1로 된 영역의 크기를..
https://leetcode.com/problems/flood-fill/ Flood Fill - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com BFS 알고리즘. m x n 크기의 visited 배열을 선언하여 false로 초기화. 4 방향을 탐색하기 위한 direct 배열 또한 선언. color는 image[sr][sc]에 해당하는 숫자로, 탐색을 할 때 해당 숫자와 같으면 newColor로 바꾼다. image[sr][sc] = newColor로 하고, que..