데이터베이스/문제 풀이
[프로그래머스][MySQL] 특정 형질을 가지는 대장균 찾기
수수다
2026. 7. 12. 17:08
https://school.programmers.co.kr/learn/courses/30/lessons/301646
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
형질은 각 비트로 표현된다.
- 1번 형질: 1 → 0001
- 2번 형질: 2 → 0010
- 3번 형질: 4 → 0100
& 연산은 두 값에서 같은 위치의 비트가 모두 1일 때만 해당 비트를 남긴다. -> 0001 & 0001 = 0001 , 0001 & 1110 = 0000
따라서 (genotype & 2) = 2이면 2번 형질을 가진 것이고, (genotype & 2) != 2이면 2번 형질이 없는 것이다.
같은 방식으로 genotype & 1은 1번 형질, genotype & 4는 3번 형질을 확인한다.
select count(*) as count
from ecoli_data
where (genotype & 2) != 2 and ((genotype & 1) = 1 or (genotype & 4) = 4)
