3286. Find a Safe Walk Through a Grid
·
Algorithm/Leetcode
https://leetcode.com/problems/find-a-safe-walk-through-a-grid/description/ You are given an m x n binary matrix grid and an integer health.You start on the upper-left corner (0, 0) and would like to get to the lower-right corner (m - 1, n - 1).You can move up, down, left, or right from one cell to another adjacent cell as long as your health remains positive.Cells (i, j) with grid[i][j] = 1 are ..
조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
·
Algorithm/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존..
자동차 평균 대여 기간 구하기
·
Algorithm/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요. 오답 코드SELECT ca..
즐겨찾기가 가장 많은 식당 정보 출력하기
·
Algorithm/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요. 이 문제를 보고 group by 음식 종류를 하고, max값을 가져오면 된다고 생각했다.SELECT FOOD_TYPE, REST_ID, REST_NAME, MAX(FAVORITES)FROM REST_INFOGROUP BY FOOD_TYPE..
SQL
·
Algorithm/프로그래머스
이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.IFNULL(NAME, "No name") as NAMEIF NULL을 통해서 SELECT 시점에서 거르거나,CASE WHEN NAME IS NULL THEN 'No name' ELSE NAMEEND NAME,CASE-WHEN 문법을 사용하여 거르기.COALESCE를 사용하는 방법도 존재.테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.ORDER BY PRICE descLIMIT 1 ORWHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT) 이런식으로 서브쿼리를 사용하는 방법도 있는듯 하..
12/10 ~ 13 풀이
·
Algorithm/Leetcode
Contains Duplicate배열에 중복된 값이 있는지 체크하는 문제로, 간단하게 Set을 사용하여 배열의 길이와 비교해주었다.Valid Anagram단어의 등장 횟수를 비교하여 같다면 valid인 문제였다. 맵을 두개를 사용하여 풀었으나, 한개를 사용하여 한 문자열의 등장횟수를 더하고, 다른 문자열에선 등장횟수를 빼준다면 충분히 맵을 한개만 사용하여 풀이할 수 있었다.Two Sum리트코드 국민 문제. 관건은 O(n^2) 시간보다 어떻게 줄일 수 있느냐였다.맵을 사용하여 현재 값과 인덱스를 넣어주고, 만약에 (target - 현재값)이 맵에 존재한다면, 인덱스를 리턴해줬다.Group Anagrams이 문제를 풀면서 String을 어떻게 정렬하는지 까먹어서 인터넷을 참고했다.char [] chars =..
12/10 풀이
·
Algorithm/Leetcode
Redundant Connectionhttps://neetcode.io/problems/redundant-connection NeetCode neetcode.io 이 문제와 비슷한 느낌을 받았다.https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 실제로, 비슷하게 풀이하여 정답을 맞출 수 있었다.처음부터 각 노드의 연결된 간선을 끊어주며, 끊어졌을 때 모든 노드를 방문할 수 있다면 정답으로, 아니라면 skip을 해주었다. 모든 노드를 방문했을 때, 가장 뒤에 등장한 노드를 리턴해줘야 했으므로 값..
12/9 풀이
·
Algorithm/Leetcode
Graph Valid Treehttps://neetcode.io/problems/valid-tree NeetCode neetcode.io해당 무방향 그래프가 올바른 트리 형태인지 판단하는 문제였다.올바른 트리이기 위한 조건은간선의 갯수가 노드 - 1개일 것.모든 노드가 서로 연결되어 있을 것사이클 x무방향 그래프인 경우에 유니온 파인드를 사용해서 두 노드가 같은 집합에 속하는지 판단하고, 같은 집합에 속하는 경우 사이클이 있다고 판단하여 트리 조건에 부합하지 않도록 구현했다. 방향이 있는 그래프에선 위상 정렬을 사용하여 사이클 여부를 판단했지만, 위상 정렬은 무방향 그래프에선 잘 사용하지 않는다고 한다.Number of Connected Components in an Undirected Graphhttp..
12/8 풀이
·
Algorithm/Leetcode
Course Schedule Ihttps://neetcode.io/problems/course-schedule NeetCode neetcode.io 위상정렬을 사용하여 사이클이 존재하는지 여부를 판단하는 문제다.차수가 0인 지점을 큐에 넣어 BFS를 돌리고, 다른 지점을 방문할 때마다 차수를 하나씩 빼주고 0이 될때마다 다시 큐에 넣는다. Course Schedule IIhttps://neetcode.io/problems/course-schedule-ii NeetCode neetcode.io 마찬가지로 위상정렬을 이용하는 문제다. 다른점이 있다면, Input: numCourses = 3, prerequisites = [[1,0]]Output: [0,1,2]이런식으로 주어질 때, 0은 1의 선행과목이 되지..
12/7 풀이
·
Algorithm/Leetcode
Pacific Atlantic Water Flowhttps://neetcode.io/problems/pacific-atlantic-water-flow NeetCode neetcode.io 우선 태평양, 대서양과 인접해있는 좌표들을 각각 큐에 담아주고 BFS를 실행해주며 방문 체크하면 됐다. 문제에서 제일 헷갈렸던 부분은 현재 높이보다 다음 지점의 높이가 같거나 크다면 이동가능하다고 생각했는데, 해당 문제에서의 BFS의 탐색 방식은 이 반대로 현재 위치에서의 물이 어디서 왔는지 탐색하고 있다.BFS를 돌리고 난 후, 두개의 방문 배열들을 비교해서 교집합만 따로 결과값에 넣어주면 되는 문제였다. Surrounded Regionshttps://neetcode.io/problems/surrounded-regio..