[프로그래머스]FrontEnd 개발자 찾기

김준석·2024년 2월 23일

코딩테스트 - SQL

목록 보기
76/96

문제

https://school.programmers.co.kr/learn/courses/30/lessons/276035
포인트!

  • 포인트!
    ** 이진법으로 계산해야 되기 때문에 이진 연산자 AND 사용!

코드

SELECT 
    DISTINCT D.ID,
    D.EMAIL,
    D.FIRST_NAME,
    D.LAST_NAME
FROM
    SKILLCODES S
    INNER JOIN DEVELOPERS D
        ON S.CODE = D.SKILL_CODE & S.CODE #&: 이진 AND 연산. 각 비트값이 모두 1일때만 결과 비트가 1로 나옴.  
WHERE 
    S.CATEGORY = 'Front End'
ORDER BY 
    D.ID

후기

너무 헷갈렸다.
이진 연산자라로 계산한다는 것은
예를 들어 8452와 4가 있다고 할때 &를 수행하게 된다면

이런식으로 비트 단위로 동일하게 1에 있는 비트를 추출하게 된다.
그래서 각 비트의 합으로 되어있는 코드도 추출할 수 있게 됨.

0개의 댓글