728x90
반응형
SMALL
Programmers SQL _SELECT_ 연습 문제 풀이
https://school.programmers.co.kr/learn/courses/30/parts/17042
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이 날짜 : 2026-01-29
소요 시간 :
문제 설명
2번 형질이 보유하지 않으면서 1번이나 3번 형질을 보유하고 있는 대장균 개체의 수(COUNT)를 출력하는 SQL 문을 작성해주세요. 1번과 3번 형질을 모두 보유하고 있는 경우도 1번이나 3번 형질을 보유하고 있는 경우에 포함합니다.
반응형
다른 풀이
비트마스크 : 여러 상태(형질)를 하나의 정수에 2진수로 저장하는 방식
SELECT COUNT(ID) as COUNT
FROM ECOLI_DATA
WHERE (GENOTYPE & 2) = 0 AND ( (GENOTYPE & 1) <> 0 OR (GENOTYPE & 4) <> 0 );
2번 형질이 보유하지 않으면서 = GENOTYPE & 2 = 0 → 2번 형질 없음
1번이나 3번 형질을 보유 = (GENOTYPE & 1) <> 0 OR (GENOTYPE & 4) <> 0
3번 형질 = 4 인 이유는 2진수에서 “세 번째 비트 자리값”이 4이기 때문
SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE (GENOTYPE & (1 << 1)) = 0
AND (
(GENOTYPE & (1 << 0)) <> 0
OR (GENOTYPE & (1 << 2)) <> 0
);
728x90
반응형
LIST
'Coding Study > Programmers (SQL)' 카테고리의 다른 글
| [프로그래머스/SQL] SELECT Level2. 3월에 태어난 여성 회원 목록 출력하기 (4') (1) | 2026.02.02 |
|---|---|
| [프로그래머스/SQL] SELECT Level1. 가장 큰 물고기 10마리 구하기 (1') (0) | 2026.01.29 |
| [프로그래머스/SQL] SELECT Level1. 잔챙이 잡은 수 구하기 (4') (0) | 2026.01.29 |
| [프로그래머스/SQL] SELECT Level1. Python 개발자 찾기 (2') (0) | 2026.01.29 |
| [프로그래머스/SQL] SELECT Level1. 조건에 맞는 회원수 구하기 (2') (0) | 2026.01.29 |