77일차

Suhyeon Lee·2025년 1월 20일

CodeKata

SQL

LeetCode: Rank Scores

  • 작성한 쿼리
select
  score
  , dense_rank() over (order by score desc) as `rank`
from
  scores
order by
  `rank`
;

LeetCode: Employees Earning More Than Their Managers

  • 작성한 쿼리
select
  e1.name as employee
from
  Employee e1
  left join Employee e2
  on e1.managerId = e2.id
where
  e1.salary > e2.salary
;

LeetCode: Duplicate Emails

  • 작성한 쿼리
-- 1
with cte as (
  select
    email
    , count(*) as cnt
  from
    Person
  group by
    email
)
select
  email
from
  cte
where
  cnt > 1
;

-- 2
select
  email
from
  Person
group by
  email
having
  count(*)>1
;

LeetCode: Customers Who Never Order

  • 작성한 쿼리
select
  name as customers
from
  Customers c
  left join Orders o
  on c.id = o.customerId
where
  o.id is null
;

Python

83. 귤 고르기

  • 작성한 코드
from collections import defaultdict
def solution(k, tangerine):
    answer = 0
    tangerine_dict = defaultdict(int)
    for t in tangerine:
        tangerine_dict[t] += 1
    tangerine_list = sorted(
        tangerine_dict.items()
        , key=lambda x: x[1]
        , reverse=True
    )
    for t, cnt in tangerine_list:
        if k <= 0:
            break
        answer += 1
        k -= cnt
    return answer

참고할 만한 다른 풀이

import collections
def solution(k, tangerine):
    answer = 0
    cnt = collections.Counter(tangerine)

    for v in sorted(cnt.values(), reverse = True):
        k -= v
        answer += 1
        if k <= 0:
            break
    return answer
from collections import Counter

def solution(k, tangerine):
    counter = Counter(tangerine)
    tangerine.sort(key = lambda t: (-counter[t], t))
    return len(set(tangerine[:k]))

최종 프로젝트 관련

  • 코드 합치기 완료
  • 튜터님 피드백 내용 추가하기

QCC

7회차

회고

  • 주말부터 지금까지 몸이 너무 안 좋아서 일을 많이 못 했다…😥
    • 토요일에 쓰러졌어서 이번주는 좀 쉬엄쉬엄 해야겠음
  • QCC 마지막 마무리는 잘 해서 다행이다~
profile
2 B R 0 2 B

0개의 댓글