본문 바로가기

문제 풀이/프로그래머스49

[JAVA 33] 두 큐 합 같게 만들기 두 큐 합 같게 만들기 (LEVEL2) 문제 설명길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다.큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다. 이 문제에서는 큐를 배열로 표현하며, 원소가 배열 앞쪽에 있을수록 먼저 집어넣은 원소임을 의미합니다. 즉, pop을 하면 배열의 첫 번째 원소가 추출되며, insert를 하면 배열의 끝에 원소가 추가됩니다. 예를 들어 큐 [1, 2, 3, 4]가 주어졌을 때, pop을 하면 맨 앞에 있.. 2024. 9. 23.
[MYSQL 23] 조건에 맞는 사원 정보 조회하기 조건에 맞는 사원 정보 조회하기 (LEVEL2) 2022년도 평가 점수가 가장 높은 사원들의 점수, 사번, 성명, 직책, 이메일을 조회하는 SQL문을 작성해주세요.2022년도의 평가 점수는 상,하반기 점수의 합을 의미 (평가점수 컬럼의 이름은 SCORE)정답 코드SELECT SUM(SCORE) AS SCORE, E.EMP_NO, EMP_NAME, POSITION, EMAILFROM HR_EMPLOYEES E JOIN HR_GRADE G ON E.EMP_NO = G.EMP_NOWHERE YEAR = 2022GROUP BY E.EMP_NOHAVING SCORE = (SELECT MAX(SCORE) AS SCORE FROM (SELECT EMP_NO, SUM(SCORE) AS SCOR.. 2024. 9. 22.
[MYSQL 22] 동명 동물 수 찾기 동명 동물 수 찾기 (LEVEL2) 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회이름이 없는 동물 제외정렬 이름 순 정답 코드SELECT NAME, COUNT(*) AS COUNTFROM ANIMAL_INSWHERE NAME IS NOT NULLGROUP BY NAMEHAVING COUNT > 1ORDER BY NAME  MEMO이름이 없는 동물 제외  IS NOT NULLGROUP BY 된 결과로 필터링하려면 HAVING 사용 2024. 9. 21.
[MYSQL 21] 가격대 별 상품 개수 구하기 가격대 별 상품 개수 구하기 (LEVEL2)레벨 치고는 어려웠던 문제   PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 정렬은 가격 오름차순 정답 코드SELECT CASE WHEN (0   다른 정답 코드SELECT PRICE_GROUP, count(PRODUCT_ID) AS PRODUCTSFROM (SELECT PRODUCT_ID, PRICE, truncate(PRICE, -4) AS PRICE_GROUP FROM PRODUCT) as aGROUP BY PRICE_GROUPORDER .. 2024. 9. 20.
[MYSQL 20] 조건에 맞는 아이템들의 가격의 총합 구하기 조건에 맞는 아이템들의 가격의 총합 구하기 (LEVEL2) ITEM_INFO 테이블에서 희귀도가 'LEGEND'인 아이템들의 가격의 총합을 구하는 SQL문을 작성해 주세요.이때 컬럼명은 'TOTAL_PRICE'로 지정해 주세요 정답 코드SELECT SUM(PRICE) AS TOTAL_PRICEFROM ITEM_INFOWHERE RARITY = 'LEGEND' 2024. 9. 14.
[MYSQL 19] 물고기 종류 별 대어 찾기 물고기 종류 별 대어 찾기 (LEVEL3) 물고기 종류 별로 가장 큰 물고기의 ID(ID), 물고기 이름(FISH_NAME), 길이(LENGTH)를 출력정렬은 물고기의 ID 오름차순단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다. 정답 코드SELECT ID, FISH_NAME, LENGTHFROM FISH_INFO I JOIN FISH_NAME_INFO N ON I.FISH_TYPE = N.FISH_TYPEWHERE (I.FISH_TYPE, LENGTH) IN (SELECT FISH_TYPE, MAX(LENGTH) FROM FISH_INFO .. 2024. 9. 13.