하루에 하나씩 공부하기
특정 세대의 대장균 찾기-LV4 본문
- 문제
3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요.
코딩테스트 연습 - 특정 세대의 대장균 찾기 | 프로그래머스 스쿨
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 키포인트
먼저 부모 형질을 찾자 : B.ID=A.PARENT_ID
그 다음, 2세대 형질을 찾자 : PARENT_ID IS NULL : 1세대 형질, 그러므로 PARENT_ID=1세대 형질인 2세대 형질의 ID 찾음
마지막으로, 조인 방식과 똑같은 방식으로 PARENT_ID=2세대 형질인 3세대 형질의 ID 찾기
- 코드
SELECT A.ID
FROM ECOLI_DATA A LEFT JOIN ECOLI_DATA B ON A.PARENT_ID=B.ID
WHERE B.PARENT_ID IN (SELECT ID FROM ECOLI_DATA WHERE PARENT_ID IS NULL)
ORDER BY ID;
맨 처음에 못 푼 문제 풀어서 신남 -> 항상 테스트케이스 출력값을 보면서 뭐가 문제인지 파악하자
SELECT F.ID
FROM ECOLI_DATA AS F
JOIN ECOLI_DATA AS S ON F.PARENT_ID = S.ID
JOIN ECOLI_DATA AS T ON S.PARENT_ID = T.ID
WHERE T.PARENT_ID IS NULL
ORDER BY F.ID ASC
SELECT ED3.ID
FROM ECOLI_DATA AS ED1
INNER JOIN ECOLI_DATA AS ED2
ON ED1.ID = ED2.PARENT_ID AND ED1.PARENT_ID IS NULL
INNER JOIN ECOLI_DATA AS ED3
ON ED3.PARENT_ID = ED2.ID
'SQL 코딩테스트 > LV4' 카테고리의 다른 글
보호소에서 중성화한 동물-LV4 (0) | 2025.02.11 |
---|---|
입양 시각 구하기(2)-LV4 (0) | 2025.02.11 |
우유와 요거트가 담긴 장바구니-LV4 (0) | 2025.02.10 |
식품분류별 가장 비싼 식품의 정보 조회하기-LV4 (0) | 2025.02.10 |
5월 식품들의 총매출 조회하기-LV4 (1) | 2025.02.07 |