

* 비트 연산자를 이용하여 풀어야하는 문제다.
특정 형질이 없는 개체를 찾으려면 &연산자를 사용해야한다
왜 ?
-> & 연산자는 특정 비트가 존재하는지 확인하는 데 사용하는 것.
->특정 형질이 없는 개체를 찾으려면 & 연산의 결과가 0인지 확인하면 된다.
< 문제풀이 >
1. GENOTYPE & (1 | 4) > 0 → 형질 1 또는 3을 보유한 개체 찾기
- 1 | 4는 비트 OR 연산을 수행하여 0101이 된다.
-GENOTYPE & 5 > 0
→ 즉, 비트 AND 연산 결과가 0보다 크면, 형질 1(0001) 또는 형질 3(0100)이 포함되어 있다는 의미.
2. GENOTYPE & 2 = 0 → 형질 2를 보유하지 않은 개체 찾기
-GENOTYPE & 2를 수행하면, 형질 2(0010)이 존재하면 2가 나오고, 없으면 0이 나옴.
-GENOTYPE & 2 = 0
→ 즉, 형질 2가 없는 개체만 선택됨.
SELECT COUNT(ID) AS COUNT
FROM ECOLI_DATA
WHERE (GENOTYPE & (1|4)) > 0 AND GENOTYPE & 2 = 0 ;'💻 프로그래밍 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 - 대장균의 크기에 따라 분류하기 2 (0) | 2025.02.11 |
|---|---|
| 프로그래머스 - 부모의 형질을 모두 가지는 대장균 찾기 (0) | 2025.02.11 |
| 프로그래머스 - 특정 물고기를 잡은 총 수 구하기 (0) | 2025.02.10 |
| 프로그래머스 - 가장 큰 물고기 10마리 구하기 (0) | 2025.02.10 |
| 프로그래머스 - 잔챙이 잡은 수 구하기 (0) | 2025.02.10 |