본문 바로가기

전체 글269

[LeetCode] Employees Earning More Than Their Managers https://leetcode.com/problems/employees-earning-more-than-their-managers/ Employees Earning More Than Their Managers - 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 자신의 매니저보다 많이 버는 사람 구하는 문제 나의 풀이 SELECT E.name AS Employee FROM Employee E JOIN Employee M ON E.managerId = M.id WHE.. 2022. 3. 31.
[LeetCode] Consecutive Numbers (MySQL) https://leetcode.com/problems/consecutive-numbers/ Consecutive Numbers - 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 row 3개 연속해서 등장하는 num을 찾는 문제. 1. Where IN 활용 select distinct Num as ConsecutiveNums from Logs where (Id+1,Num) in (Select * from Logs) and (ID+2, Num) in (Select .. 2022. 3. 31.
[MySQL] rank함수 - 랭킹 https://leetcode.com/problems/rank-scores/ Rank Scores - 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 위 문제를 풀면서 알게 된 사실을 정리. MySQL 8 버전 이상부터는 rank, dense_rank 함수 사용 가능 MySQL 버전 확인 SELECT VERSION() rank 함수와, dense_rank 함수 모두 같은 순위는 같은 랭크로 처리됨 rank함수는 순위가 밀려남 EX) 1, 1, 3, 4, 5 den.. 2022. 3. 31.
[MySQL] 변수 처리(local variable vs. user variable) https://leetcode.com/problems/nth-highest-salary/ Nth Highest Salary - 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 위 문제를 풀면서 변수(특히 지역변수 처리에 대해 알게 되어서 정리해 놓고자 함.) CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your MySQL query statement below. ); E.. 2022. 3. 31.
[MySQL] N번째로 큰 값 위와 같은 테이블이 있을 때 가장 큰 값을 구하고 싶으면 MAX 함수를 사용하면 된다. 그럼 N번째로 큰 값은 어떻게 불러올까? 여러 방법이 있겠지만, LIMIT OFFSET을 사용하면 된다. 2021.09.17 - [Database/PostgreSQL] - [PostgreSQL] limit, offset [PostgreSQL] limit, offset limit, offset을 알아보자. LIMIT는 몇 개 불러올건지, OFFSET은 어디부터 불러올건지 -- 처음부터 시작해서 100개 Row 불러오기 SELECT * FROM table LIMIT 100; SELECT * FROM table LIMIT 100 OFFSET 0; -- 101.. hkim-data.tistory.com -- 두번째로 큰 값 .. 2022. 3. 31.
[MySQL] JOIN 이후 NULL 처리 https://leetcode.com/problems/combine-two-tables/ Combine Two Tables - 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 데이터 생성 CREATE table If Not Exists Person (personId int, firstName varchar(255), lastName varchar(255)); Create table If Not Exists Address (addressId int, personId.. 2022. 3. 31.
SQL 쿼리 연습 사이트, 쿼리 정리 사이트 http://sqlfiddle.com/ SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions. Query Panel Use this panel to try to solve the problem with other SQL statements (SELECTs, etc...). Results will be displayed below. Share your queries by copying and pasting the URL that is generated after each run. sqlfiddle.com 위 사이트에서 데이터베이스 만들고 간단하게 테스트해볼 수 있어서 편하다. https:.. 2022. 3. 31.
[LeetCode] Combine Two Tables (MySQL) https://leetcode.com/problems/combine-two-tables/ Combine Two Tables - 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 personId로 조인하는 문제 outer join을 하면 된다. SELECT firstName, lastName, city, state FROM Person p LEFT JOIN Address a ON p.personId = a.personId ; 2022. 3. 31.
[LeetCode] Search a 2D Matrix https://leetcode.com/problems/search-a-2d-matrix/ Search a 2D Matrix - 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 정렬되어 있는 게 이진 탐색으로 풀어주세요~ 하는 조건이다. 데이터는 매트릭스 형태이기 때문에 이에 맞춰 수정해주면 된다. 재귀로 풀었다. 나의 풀이 class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) ->.. 2022. 3. 30.
[LeetCode] Design Circular Queue (스택으로 원형 큐 구현) https://leetcode.com/problems/design-circular-queue/ Design Circular Queue - 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 투 포인터 개념으로 풀면 된다. class MyCircularQueue: def __init__(self, k: int): self.q = [None]*k self.head = 0 self.tail = 0 self.size = k def enQueue(self, value: int.. 2022. 3. 29.
[LeetCode] Implement Queue using Stacks(스택으로 큐 구현) https://leetcode.com/problems/implement-queue-using-stacks/ Implement Queue using Stacks - 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 스택을 두 개 사용해서 큐를 구현하는 문제 나의 풀이 class MyQueue: def __init__(self): self.s1 = list() self.s2 = list() def push(self, x: int) -> None: self.s1.appe.. 2022. 3. 29.
[LeetCode] Implement Stack using Queues(큐로 스택 구현) https://leetcode.com/problems/implement-stack-using-queues/ Implement Stack using Queues - 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 큐로 스택을 구현하는 근본 문제 push 할 때 append 해주고 기존에 queue에 있던 원소는 popleft 이후 다시 큐의 맨 뒤로 줄줄이 붙여주면 된다. 요소 삽입 시 시간복잡도가 O(N)이 되어 다소 비효율적이긴 하지만, 큐로 스택을 구현할 수 .. 2022. 3. 29.
[LeetCode] Daily Temperatures https://leetcode.com/problems/daily-temperatures/ Daily Temperatures - 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 어떤 시간의 흐름에 따라 풀이하는 건 스택을 활용하면 쉽게 풀 수 있는 것 같다. class Solution: def dailyTemperatures(self, temperatures: List[int]) -> List[int]: stack = [] answer = [0] * len(temp.. 2022. 3. 29.
[LeetCode] Remove Duplicate Letters https://leetcode.com/problems/remove-duplicate-letters/ Remove Duplicate Letters - 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 class Solution: def removeDuplicateLetters(self, s: str) -> str: last_occ = {} visited = set() stack = [] for i in range(len(s)): last_occ[s[i]] = i fo.. 2022. 3. 29.
[LeetCode] Number of Islands https://leetcode.com/problems/number-of-islands/ Number of Islands - 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로 풀이했다 class Solution: def numIslands(self, grid: List[List[str]]) -> int: move = [(0,1),(0,-1),(1,0),(-1,0)] def OOB(x, y): return x=len(grid) or y=l.. 2022. 3. 25.