[프로그래머스][MySQL] SELECT - 조건에 맞는 개발자 찾기

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

  • 비트 연산자
    • AND (&) : 두 비트 모두 1이면 1을 반환함
    • OR (|) : 두 비트 중 하나라도 1이면 1을 반환함
    • XOR (^) : 두 비트가 서로 다르면 1을 반환함
    • NOT (~) : 비트가 1이면 0으로, 0이면 1로 반전시킴
    • Left Shift (<<) : 비트를 지정한 수만큼 왼쪽으로 이동시킴
    • Right Shift (>>) : 비트를 지정한 수만큼 오른쪽으로 이동시킴
b'1011' & b'1101'  -- b'1001'
b'1011' | b'1101'  -- b'1111'
b'1011' ^ b'1101'  -- b'0110'
~ b'1011'  -- b'0100'
b'1011' << 1  -- b'0111'
b'1011' >> 1  -- b'1101'

 

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;
728x90