반응형
https://school.programmers.co.kr/learn/courses/30/lessons/301646
bit masking을 사용해본 문제였습니다.
📕 풀이방법
📔 풀이과정
특정 집합의 포함 여부는 &연산으로 확인 가능합니다.
1. 1번 형질과 3번 형질은 각각 오른쪽에서 첫 번째와 세 번째 bit가 존재하는지 확인하면 됩니다. 이는 각각 genotype & 1, genotype & 4함으로써 포함여부 알 수 있습니다.
2. 2번 형질은 오른쪽에서 두 번째 bit가 0인지 여부로 비포함임을 알 수 있습니다.
📔 정답 출력 | 반환
오른쪽에 두 번째 bit는 포함하지 않으면서 첫 번째 혹은 세 번째 bit는 포함하는 genotype에 관련한 id를 count한 결과를 select해줍니다.
📕 Code
📔 MySQL
SELECT count(id) as COUNT
FROM ECOLI_DATA
WHERE (genotype & 2) = 0 AND (
(genotype & 1) <> 0 OR
(genotype & 4) <> 0
);
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'SQL' 카테고리의 다른 글
(MySQL) - 프로그래머스(코딩테스트 연습 - String, Date): 한 해에 잡은 물고기 수 구하기 (0) | 2024.11.08 |
---|---|
(MySQL) - 프로그래머스(코딩테스트 연습 - SELECT): 가장 큰 물고기 10마리 구하기 (0) | 2024.11.08 |
(SQL, Python) - LeetCode (easy) 1890. The Latest Login in 2020 (1) | 2024.09.11 |
(SQL) - LeetCode (easy) 1873. Calculate Special Bonus (0) | 2024.09.03 |
(SQL) - LeetCode (easy) 1789. Primary Department for Each Employee (0) | 2024.07.31 |