From 94747c9bd289c98bc8b0fe39a56c18ddd5e08902 Mon Sep 17 00:00:00 2001 From: SSUM <116950962+ssum21@users.noreply.github.com> Date: Wed, 5 Mar 2025 21:02:07 +0900 Subject: [PATCH] =?UTF-8?q?[level=204]=20Title:=20=EC=96=B8=EC=96=B4?= =?UTF-8?q?=EB=B3=84=20=EA=B0=9C=EB=B0=9C=EC=9E=90=20=EB=B6=84=EB=A5=98?= =?UTF-8?q?=ED=95=98=EA=B8=B0,=20Time:=20,=20Memory:=20undefined=20-Baekjo?= =?UTF-8?q?onHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../4/276036. 언어별 개발자 분류하기/README.md | 243 ++++++++++++++++++ .../언어별 개발자 분류하기.sql | 27 ++ 2 files changed, 270 insertions(+) create mode 100644 프로그래머스/4/276036. 언어별 개발자 분류하기/README.md create mode 100644 프로그래머스/4/276036. 언어별 개발자 분류하기/언어별 개발자 분류하기.sql diff --git a/프로그래머스/4/276036. 언어별 개발자 분류하기/README.md b/프로그래머스/4/276036. 언어별 개발자 분류하기/README.md new file mode 100644 index 0000000..a3f6813 --- /dev/null +++ b/프로그래머스/4/276036. 언어별 개발자 분류하기/README.md @@ -0,0 +1,243 @@ +# [level 4] 언어별 개발자 분류하기 - 276036 + +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/276036) + +### 성능 요약 + +메모리: undefined, 시간: + +### 구분 + +코딩테스트 연습 > GROUP BY + +### 채점결과 + +합계: 100.0 / 100.0 + +### 제출 일자 + +2025년 03월 05일 21:02:06 + +### 문제 설명 + +
SKILLCODES 테이블은 개발자들이 사용하는 프로그래밍 언어에 대한 정보를 담은 테이블입니다. SKILLCODES 테이블의 구조는 다음과 같으며, NAME, CATEGORY, CODE는 각각 스킬의 이름, 스킬의 범주, 스킬의 코드를 의미합니다. 스킬의 코드는 2진수로 표현했을 때 각 bit로 구분될 수 있도록 2의 제곱수로 구성되어 있습니다.
| NAME | +TYPE | +UNIQUE | +NULLABLE | +
|---|---|---|---|
| NAME | +VARCHAR(N) | +Y | +N | +
| CATEGORY | +VARCHAR(N) | +N | +N | +
| CODE | +INTEGER | +Y | +N | +
DEVELOPERS 테이블은 개발자들의 프로그래밍 스킬 정보를 담은 테이블입니다. DEVELOPERS 테이블의 구조는 다음과 같으며, ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_CODE는 각각 개발자의 ID, 이름, 성, 이메일, 스킬 코드를 의미합니다. SKILL_CODE 컬럼은 INTEGER 타입이고, 2진수로 표현했을 때 각 bit는 SKILLCODES 테이블의 코드를 의미합니다.
| NAME | +TYPE | +UNIQUE | +NULLABLE | +
|---|---|---|---|
| ID | +VARCHAR(N) | +Y | +N | +
| FIRST_NAME | +VARCHAR(N) | +N | +Y | +
| LAST_NAME | +VARCHAR(N) | +N | +Y | +
| VARCHAR(N) | +Y | +N | +|
| SKILL_CODE | +INTEGER | +N | +N | +
예를 들어 어떤 개발자의 SKILL_CODE가 400 (=b'110010000')이라면, 이는 SKILLCODES 테이블에서 CODE가 256 (=b'100000000'), 128 (=b'10000000'), 16 (=b'10000') 에 해당하는 스킬을 가졌다는 것을 의미합니다.
DEVELOPERS 테이블에서 GRADE별 개발자의 정보를 조회하려 합니다. GRADE는 다음과 같이 정해집니다.
GRADE가 존재하는 개발자의 GRADE, ID, EMAIL을 조회하는 SQL 문을 작성해 주세요.
+ +결과는 GRADE와 ID를 기준으로 오름차순 정렬해 주세요.
+ +예를 들어 SKILLCODES 테이블이 다음과 같고,
| NAME | +CATEGORY | +CODE | +
|---|---|---|
| C++ | +Back End | +4 | +
| JavaScript | +Front End | +16 | +
| Java | +Back End | +128 | +
| Python | +Back End | +256 | +
| C# | +Back End | +1024 | +
| React | +Front End | +2048 | +
| Vue | +Front End | +8192 | +
| Node.js | +Back End | +16384 | +
DEVELOPERS 테이블이 다음과 같다면
| ID | +FIRST_NAME | +LAST_NAME | +SKILL_CODE | +|
|---|---|---|---|---|
| D165 | +Jerami | +Edwards | +jerami_edwards@grepp.co |
+400 | +
| D161 | +Carsen | +Garza | +carsen_garza@grepp.co |
+2048 | +
| D164 | +Kelly | +Grant | +kelly_grant@grepp.co |
+1024 | +
| D163 | +Luka | +Cory | +luka_cory@grepp.co |
+16384 | +
| D162 | +Cade | +Cunningham | +cade_cunningham@grepp.co |
+8452 | +
다음과 같이 DEVELOPERS 테이블에 포함된 개발자들의 GRADE 및 정보가 결과에 나와야 합니다.
| GRADE | +ID | +|
|---|---|---|
| A | +D162 | +cade_cunningham@grepp.co |
+
| A | +D165 | +jerami_edwards@grepp.co |
+
| B | +D164 | +kelly_grant@grepp.co |
+
| C | +D161 | +carsen_garza@grepp.co |
+