https://school.programmers.co.kr/learn/courses/30/lessons/301646
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[문제]
2번 형질이 보유하지 않으면서 1번이나 3번 형질을 보유하고 있는 대장균 개체의 수(COUNT)를 출력하는 SQL 문을 작성해주세요. 1번과 3번 형질을 모두 보유하고 있는 경우도 1번이나 3번 형질을 보유하고 있는 경우에 포함합니다.
[나의 풀이]
SELECT COUNT(ID) AS COUNT
FROM ECOLI_DATA
WHERE GENOTYPE & 2 = 0
AND (GENOTYPE & 4 >= 1 OR GENOTYPE & 1 >= 1);



Q. "GENOTYPE & 4 >= 1은 GENOTYPE의 세 번째 비트(오른쪽에서 세 번째 비트)가 켜져 있는지 확인합니다." 이 부분이 잘 이해가 안돼. GENOTYPE이 4인 경우 GENOTYPE & 4의 결과가 0100인데 이게 어떻게 1보다 크거나 같다는거야?

[참고 링크]
정수를 비트로 표현하는 방법
0부터 9까지의 숫자로 수를 표현하는 방법으로, 우리가 일상 생활에서 수를 나타낼 때 흔히 사용하는 방법이다.수의 값은 각 상자에 든 내용물의 값 \* 상자의 값을 곱한 것을 모두 더하여 결정된
velog.io
비트 연산자(bitwise operator), 프로그래머스 문제로 이해해 보자.
📌비트 연산자란? SQL 기초 문법만 배운 상태에서 프로그래머스 SQL 고득점 Kit를 풀던 중 처음 보는 연산자를 발견했다. 평소 &(AND)라고 불리는 기호인데, SQL에서는 AND 연산에 사용되고, '비트 연
velog.io
'프로그래머스 > My SQL' 카테고리의 다른 글
잔챙이 잡은 수 구하기 (0) | 2024.10.30 |
---|---|
잡은 물고기의 평균 길 구하기 (0) | 2024.10.30 |
잡은 물고기 중 가장 큰 물고기의 길이 구하기 (0) | 2024.10.30 |
한 해에 잡은 물고기 수 구하기 (0) | 2024.10.30 |
가장 큰 물고기 10마리 구하기 (0) | 2024.10.30 |