코딩테스트 연습 > SELECT > 특정 형질을 가지는 대장균 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/301646


문제에서 가장 중요한 부분은 몇번 형질이 어떤 수를 가졌나(2진수)를 알아내는 것이다.

해당 부분을 보고 각 ID의 GENOTYPE를 비교해보면서 유추해보면
1번 -> 0001
2번 -> 0010
3번 -> 0100
4번 -> 1000
이 나온다. 이후, where절에서 비트 연산을 통해 조건을 생성하면 된다.
select count(*) as COUNT
from ecoli_data
where not genotype & 2 and (genotype & 1 or genotype & 4)
사실상 이 문제는 이진수 문제이다.
나도 처음 이 문제를 접했을 때, 형질을 알아내는 방법에서 어떻게 형질의 이진수들을 알아내지 부분에서 막혔다.