📚 CS/데이터베이스

[MySQL] 프로그래머스 - 특정 형질을 가지는 대장균 찾기

수댕ʕت̫͡ʔ 2025. 3. 24. 16:26

https://school.programmers.co.kr/learn/courses/30/lessons/301646

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

SELECT count(*) as COUNT
FROM ECOLI_DATA
WHERE GENOTYPE & 2 = 0 AND (GENOTYPE & 4 >= 1 OR GENOTYPE & 1 >= 1);

 

비트 연산을 알아야지 풀 수 있는 문제였다.

<정리>

비트연산자 
1. & : and 연산 (대응되는 비트가 모두 1이면 1 반환)
2. | : or 연산 (대응되는 비트 중에서 하나라도 1이면 1 반환)
3. ^ : xor 연산 (대응되는 비트가 서로 다르면 1을 반환)
4. ~ : not 연산 (비트를 1이면 0으로, 0이면 1로 반전시킴)
5. << : left shift 연산 (지정한 수만큼 비트를 전부 왼쪽으로 이동시팀)
6. >> : right shift 연산 (부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴)