SQL/SELECT

[프로그래머스 SQL] Lv.1 - 특정 형질을 가지는 대장균 찾기

이런개발 2025. 2. 26. 09:52

https://school.programmers.co.kr/learn/courses/30/lessons/301646

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 풀이

  1. 비트 연산으로 WHERE 절을 정의한다.
  2. "2번 형질을 보유하지 않는다"  → 2진수 10(10진수 2)과 AND 연산했을 때 0이어야 한다.
  3. "1번 형질을 보유해야 한다." → 2진수 1(10진수 1)과 AND 연산했을 때 0이면 안된다.
  4. "3번 형질을 보유해야 한다." → 2진수 100(10진수 4)과 AND 연산했을 때 0이면 안된다.
  5. COUNT 키워드로 조회된 행의 개수를 조회한다.
SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE (GENOTYPE & 2) = 0 AND 
      (GENOTYPE & 1 != 0 OR GENOTYPE & 4 != 0)