[MySQL] 프로그래머스 / level 2 / 조건에 맞는 개발자 찾기 / 부모의 형질을 모두 가지는 대장균 찾기 / 특정 형질을 가지는 대장균 찾기 / 비트 연산 / / CONV() / SUBSTRING()

2024. 4. 26. 09:47Coding Test/MySQL

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이 문제는 비트와 연산자를 알아야 풀 수 있는 문제였다.........!

 

SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPERS
WHERE SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'Python')
OR SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#')
ORDER BY ID ;

 

'&' 가 아니라 AND를 쓰게 될 경우 답이 달라지니깐 주의하기!

 

참고 : 


https://haegu.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-lv2-%EC%A1%B0%EA%B1%B4%EC%97%90-%EB%A7%9E%EB%8A%94-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%B0%BE%EA%B8%B0-%EC%A0%95%EB%8B%B5-%ED%92%80%EC%9D%B4-MySQL

 

프로그래머스 lv2 조건에 맞는 개발자 찾기 정답 풀이 MySQL

lv2 조건에 맞는 개발자 찾기 - 276034 MySQL 문제 링크 구분 코딩테스트 연습 > SELECT 채점결과 합계: 100.0 / 100.0 문제 설명 SKILLCODES 테이블은 개발자들이 사용하는 프로그래밍 언어에 대한 정보를 담

haegu.tistory.com

 


 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

각 대장균 별 형질을 2진수로 나타내면 다음과 같습니다.

ID 1 : 1000₍₂₎
ID 2 : 1111₍₂₎
ID 3 : 1₍₂₎
ID 4 : 1101₍₂₎

각 대장균 별 보유한 형질을 다음과 같습니다.

ID 1 : 4
ID 2 : 1, 2, 3, 4
ID 3 : 1
ID 4 : 1, 3, 4

 

SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE SUBSTRING(CONV(GENOTYPE,10,2),-1,1) + SUBSTRING(CONV(GENOTYPE,10,2),-3,1)>0
AND SUBSTRING(CONV(GENOTYPE,10,2),-2,1)=0

 

CONV()를 통해 10진수로 나타난 컬럼을 2진수로 바꾼 뒤, SUBSTRING을 통해 끝에서 1번째 문자를 선택

 


유사한 문제...!

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr