From 6e5d2bc271023f29d1d5130e3b9751a41beb5bb2 Mon Sep 17 00:00:00 2001 From: SSUM <116950962+ssum21@users.noreply.github.com> Date: Thu, 6 Mar 2025 10:58:47 +0900 Subject: [PATCH] =?UTF-8?q?[level=204]=20Title:=20FrontEnd=20=EA=B0=9C?= =?UTF-8?q?=EB=B0=9C=EC=9E=90=20=EC=B0=BE=EA=B8=B0,=20Time:=20,=20Memory:?= =?UTF-8?q?=20undefined=20-BaekjoonHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FrontEnd 개발자 찾기.sql | 12 + .../4/276035. FrontEnd 개발자 찾기/README.md | 234 ++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 프로그래머스/4/276035. FrontEnd 개발자 찾기/FrontEnd 개발자 찾기.sql create mode 100644 프로그래머스/4/276035. FrontEnd 개발자 찾기/README.md diff --git a/프로그래머스/4/276035. FrontEnd 개발자 찾기/FrontEnd 개발자 찾기.sql b/프로그래머스/4/276035. FrontEnd 개발자 찾기/FrontEnd 개발자 찾기.sql new file mode 100644 index 0000000..f3a00d8 --- /dev/null +++ b/프로그래머스/4/276035. FrontEnd 개발자 찾기/FrontEnd 개발자 찾기.sql @@ -0,0 +1,12 @@ +-- 코드를 작성해주세요 +WITH FRONT_SKILL AS ( + SELECT SUM(CODE) AS SUM_CODE + FROM SKILLCODES + GROUP BY CATEGORY + HAVING CATEGORY = 'Front End' +) + +SELECT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAME +FROM DEVELOPERS AS D +WHERE D.SKILL_CODE & (SELECT SUM_CODE FROM FRONT_SKILL) +ORDER BY D.ID ASC diff --git a/프로그래머스/4/276035. FrontEnd 개발자 찾기/README.md b/프로그래머스/4/276035. FrontEnd 개발자 찾기/README.md new file mode 100644 index 0000000..900e993 --- /dev/null +++ b/프로그래머스/4/276035. FrontEnd 개발자 찾기/README.md @@ -0,0 +1,234 @@ +# [level 4] FrontEnd 개발자 찾기 - 276035 + +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/276035) + +### 성능 요약 + +메모리: undefined, 시간: + +### 구분 + +코딩테스트 연습 > JOIN + +### 채점결과 + +합계: 100.0 / 100.0 + +### 제출 일자 + +2025년 03월 06일 10:58:45 + +### 문제 설명 + +

SKILLCODES 테이블은 개발자들이 사용하는 프로그래밍 언어에 대한 정보를 담은 테이블입니다. SKILLCODES 테이블의 구조는 다음과 같으며, NAME, CATEGORY, CODE는 각각 스킬의 이름, 스킬의 범주, 스킬의 코드를 의미합니다. 스킬의 코드는 2진수로 표현했을 때 각 bit로 구분될 수 있도록 2의 제곱수로 구성되어 있습니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
NAMETYPEUNIQUENULLABLE
NAMEVARCHAR(N)YN
CATEGORYVARCHAR(N)NN
CODEINTEGERYN
+

DEVELOPERS 테이블은 개발자들의 프로그래밍 스킬 정보를 담은 테이블입니다. DEVELOPERS 테이블의 구조는 다음과 같으며, ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_CODE는 각각 개발자의 ID, 이름, 성, 이메일, 스킬 코드를 의미합니다. SKILL_CODE 컬럼은 INTEGER 타입이고, 2진수로 표현했을 때 각 bit는 SKILLCODES 테이블의 코드를 의미합니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NAMETYPEUNIQUENULLABLE
IDVARCHAR(N)YN
FIRST_NAMEVARCHAR(N)NY
LAST_NAMEVARCHAR(N)NY
EMAILVARCHAR(N)YN
SKILL_CODEINTEGERNN
+

예를 들어 어떤 개발자의 SKILL_CODE가 400 (=b'110010000')이라면, 이는 SKILLCODES 테이블에서 CODE가 256 (=b'100000000'), 128 (=b'10000000'), 16 (=b'10000') 에 해당하는 스킬을 가졌다는 것을 의미합니다.

+ +
+ +
문제
+ +

DEVELOPERS 테이블에서 Front End 스킬을 가진 개발자의 정보를 조회하려 합니다. 조건에 맞는 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요.

+ +

결과는 ID를 기준으로 오름차순 정렬해 주세요.

+ +
+ +
예시
+ +

예를 들어 SKILLCODES 테이블이 다음과 같고,

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NAMECATEGORYCODE
C++Back End4
JavaScriptFront End16
JavaBack End128
PythonBack End256
C#Back End1024
ReactFront End2048
VueFront End8192
Node.jsBack End16384
+

DEVELOPERS 테이블이 다음과 같다면

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDFIRST_NAMELAST_NAMEEMAILSKILL_CODE
D165JeramiEdwardsjerami_edwards@grepp.co400
D161CarsenGarzacarsen_garza@grepp.co2048
D164KellyGrantkelly_grant@grepp.co1024
D163LukaCoryluka_cory@grepp.co16384
D162CadeCunninghamcade_cunningham@grepp.co8452
+

다음과 같이 DEVELOPERS 테이블에 포함된 개발자 중 Front End 스킬을 가진을 가진 개발자의 정보가 결과에 나와야 합니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDEMAILFIRST_NAMELAST_NAME
D161carsen_garza@grepp.coCarsenGarza
D162cade_cunningham@grepp.coCadeCunningham
D165jerami_edwards@grepp.coJeramiEdwards
+ +> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges \ No newline at end of file