🔗 문제 link : https://school.programmers.co.kr/learn/courses/30/lessons/276034
🖥️ 문제 풀이
SELECT DISTINCT
D.ID,
D.EMAIL,
D.FIRST_NAME,
D.LAST_NAME
FROM SKILLCODES S
JOIN DEVELOPERS D
ON S.CODE & D.SKILL_CODE = S.CODE
WHERE S.NAME IN ('Python', 'C#')
ORDER BY D.ID ASC;
💡 문제 해결
S.CODE & D.SKILL_CODE = S.CODE 뜻
SKILL_CODE는 여러 스킬을 더한 값으로 저장됨
예:
Python = 256 → 100000000
Java = 128 → 010000000
JS = 16 → 000010000
개발자 스킬:
400 = 256 + 128 + 16
= 110010000
→ Python + Java + JavaScript 보유
& 연산자 (비트 AND)
: 두 비트가 둘 다 1일 때만 1 반환
예:
400 (110010000)
256 (100000000)
---------------- &
100000000
결과:
256
즉:
400 & 256 = 256
→ Python 스킬 있음
'SQL Coding Test > [Programmers]' 카테고리의 다른 글
| [Programmers] 조건에 맞는 사용자 정보 조회하기 (Lv.3) (0) | 2026.05.26 |
|---|---|
| [Programmers] 오랜 기간 보호한 동물(2) (Lv.3) (0) | 2026.05.26 |
| [Programmers] 연도별 대장균 크기의 편차 구하기 (Lv.2) (0) | 2026.05.23 |
| [Programmers] 업그레이드 된 아이템 구하기 (Lv.2) (0) | 2026.05.23 |
| [Programmers] 조건에 맞는 사원 정보 조회하기 (Lv.2) (0) | 2026.05.21 |