DBMS
[프로그래머스 SQL] Lv. 1 특정 형질을 가지는 대장균 찾기
floral1215
2025. 3. 1. 09:18
반응형
※ 문제
※ 코드
-- 코드를 작성해주세요
SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE SUBSTR(BIN(GENOTYPE), -2, 1) = 0
AND (SUBSTR(BIN(GENOTYPE), -1, 1) = 1 OR SUBSTR(BIN(GENOTYPE), -3, 1) = 1);
-- 코드를 작성해주세요
SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE BIN(GENOTYPE) NOT LIKE '%1_'
AND (BIN(GENOTYPE) LIKE '%1__' OR BIN(GENOTYPE) LIKE '%1');
※ 풀이
드디어 마지막 레벨1 문제네요..!
우선 SUBSTRING을 이용한 방법과 LIKE를 이용한 방법이 있습니다.
다만 LIKE를 쓸 때 위에 2번째 형질을 체크할 때는 NOT LIKE로 해주어야 합니다. LIKE '%0_' 이렇게 적으면 숫자 1이 예외가 되서 처리가 안됩니다. (1이 한자릿수라서 그렇습니다!)
참고로 오라클에는 MySQL의 BIN 같은 함수가 없는 것으로 알아서 해결이 힘들 수도 있겠네요 ㅠㅠ
(SQLD, SQLP만 아니면 ORACLE은 보지도 않을 것 같은데... 약간 C언어 공부하는 느낌이랄까... 흠)
반응형