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