노아

[프로그래머스] 부모의 형질을 모두 가지는 대장균 찾기 본문

알고리즘/SQL

[프로그래머스] 부모의 형질을 모두 가지는 대장균 찾기

Noaahhh 2024. 9. 20. 23:12

 

Question

 

부모의 형질을 모두 보유한 대장균의 ID(ID), 대장균의 형질(GENOTYPE), 부모 대장균의 형질(PARENT_GENOTYPE)을 출력하는 SQL 문을 작성해주세요. 이때 결과는 ID에 대해 오름차순 정렬해주세요.

 

 

Pseudocode

 

 

  1. 선택할 열 지정:
    • ecoli_data 테이블의 id와 genotype을 b에서 가져옵니다.
    • ecoli_data 테이블의 genotype을 a에서 가져와 parent_genotype이라는 별칭을 부여합니다.
  2. 테이블 조인:
    • ecoli_data 테이블을 두 번 사용하여, 하나는 부모(a), 다른 하나는 자식(b)으로 설정합니다.
    • 부모와 자식을 parent_id를 기준으로 조인합니다.
  3. 조건 설정:
    • a.genotype와 b.genotype의 비트 연산 결과가 a.genotype과 같도록 조건을 설정합니다.

 

 

 

Code

 

SELECT b.id, b.genotype, a.genotype parent_genotype
FROM ecoli_data a
         JOIN ecoli_data b
              ON a.id = b.parent_id AND a.genotype & b.GENOTYPE = a.GENOTYPE