알고리즘 고득점 Kit > JOIN > 오랜 기간 보호한 동물(1)
오랜 기간 보호한 동물(1) Lv.3
아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요.
이때 결과는 보호 시작일 순으로 조회해야 합니다.
첫 번째 풀이 : 100점
def solution(n, lost, reserve):
answer = 0
for i in lost:
if i in reserve:
lost.remove(i)
reserve.remove(i)
answer += (n-len(lost))
for i in lost:
if (i-1) in reserve:
reserve.remove(i-1)
answer+=1
elif (i+1) in reserve:
reserve.remove(i+1)
answer+=1
return answer
- LEFT JOIN 해도 WHERE을 통해 B가 NULL인 조건을 걸어줘야 함
두 번째 풀이: 100점
-- 코드를 입력하세요
SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS A
WHERE ANIMAL_ID NOT IN (SELECT ANIMAL_ID FROM ANIMAL_OUTS)
ORDER BY A.DATETIME
LIMIT 3
- SELECT로 새로운 테이블을 만들어 NOT IN 을 적용할 수 있음
'코딩테스트 | SQL > 프로그래머스' 카테고리의 다른 글
| [프로그래머스 | SQL] 인기있는 아이스크림 (0) | 2024.05.08 |
|---|---|
| [프로그래머스 | SQL] 과일로 만든 아이스크림 고르기 (0) | 2024.05.08 |
| [프로그래머스 | SQL] 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2024.05.06 |
| [프로그래머스 | SQL] 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2024.05.05 |
| [프로그래머스 | SQL] 조건에 맞는 도서 리스트 출력하기 (0) | 2024.05.04 |