SQL Coding Test/[Programmers]

[Programmers] 특정 형질을 가지는 대장균 찾기 (Lv.1)

duswn1204 2026. 5. 20. 21:58

🔗 문제 link : https://school.programmers.co.kr/learn/courses/30/lessons/301646


🖥️ 문제 풀이

SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE (GENOTYPE & 2 = 0) AND ((GENOTYPE & 1 != 0) OR (GENOTYPE & 4 != 0));

💡문제 해결

& 연산자란?

&는 비트 AND 연산자로, 특정 형질(비트)이 있는지 확인할 때 사용 (2진법 사용)

기본 문법

GENOTYPE & 숫자
 

의미:

  •  해당 형질이 있으면 0이 아닌 값 반환
  • 해당 형질이 없으면 0 반환

1번 형질 → 2⁰ = 1
2번 형질 → 2¹ = 2
3번 형질 → 2² = 4
4번 형질 → 2³ = 8