Algorithm
[프로그래머스] 조건에 맞는 개발자 찾기 - SQL
choiht
2024. 3. 7. 16:34
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/276034
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 방법
SKILL_CODE 가 Python 이나 C#을 나타내는 비트를 포함하는 개발자를 찾아야한다.
즉, 해당 기술을 나타내는 비트가 1로 설정되어있는지 확인해야하므로, 비트를 비교하는 연산을 해야한다.
'&' 연산자를 사용하면, 10진수 숫자들은 자동으로 2진수로 변환된 후 비트별로 AND 연산이 수행된다.
따라서 SKILL_CODE와 'Python' 에 해당하는 2진수 비트를 비교해서 포함되어있는지 확인하는 것이다.
코드
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPERS
WHERE SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'Python')
OR SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#')
ORDER BY ID
반응형