본문 바로가기

프로그래머스34

[MYSQL 29] NULL 처리하기 NULL 처리하기 (LEVEL2)  동물의 생물 종, 이름, 성별 및 중성화 여부를 조회이름이 없는(NULL) 동물의 이름은 "No name"으로 표시해 주세요.정렬 아이디 순정답 코드SELECT ANIMAL_TYPE, CASE WHEN NAME IS NULL THEN 'No name' ELSE NAME END AS NAME, SEX_UPON_INTAKEFROM ANIMAL_INS MEMO아이디 순 정렬이 조건으로 있어서 따로 FROM 을 걸었는데 굳이 안써도 됐음FROM (SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID) AS ANULL 은 IFNULL 로 따로 처리 할 수 있음SELECT ANIMAL_TYPE, IFNULL(NAME,'No name') AS NAME, S.. 2024. 9. 27.
[MYSQL 27] ROOT 아이템 구하기 ROOT 아이템 구하기 (LEVEL2)  ROOT 아이템을 찾아 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME)을 출력 정렬은  아이템 ID 오름차순  정답 코드SELECT T.ITEM_ID, ITEM_NAMEFROM ITEM_TREE T LEFT JOIN ITEM_INFO I ON T.ITEM_ID = I.ITEM_IDWHERE PARENT_ITEM_ID IS NULL ORDER BY ITEM_ID  MEMO문제를 읽고 ROOT 아이템은 PARENT_ITEM_ID 가 NULL 이라는 것을 유추해야 하는 문제 (문제 이해력) 2024. 9. 26.
[MYSQL 24] 연도별 대장균 크기의 편차 구하기 연도별 대장균 크기의 편차 구하기 (LEVEL2)    분화된 연도(YEAR), 분화된 연도별 대장균 크기의 편차(YEAR_DEV), 대장균 개체의 ID(ID) 를 출력하는 SQL 문을 작성분화된 연도별 대장균 크기의 편차는 분화된 연도별 가장 큰 대장균의 크기 - 각 대장균의 크기 정렬 연도에 오름차순, 대장균 크기의 편차 오름차순정답 코드SELECT YEAR, YEAR_COLONY - SIZE_OF_COLONY AS YEAR_DEV, IDFROM ECOLI_DATA E JOIN (SELECT YEAR(DIFFERENTIATION_DATE) YEAR, MAX(SIZE_OF_COLONY) YEAR_COLONY FROM ECOLI_DATA .. 2024. 9. 24.
[JAVA 34] 스티커 모으기(2) 스티커 모으기(2) (LEVEL3) 문제 설명N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다.예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 사용할 수 없습니다. 스티커에 적힌 숫자가 배열 형태로 주어질 때, 스티커를 뜯어내어 얻을 수 있는 숫자의 합의 최댓값을 return 하는 solution 함수를 완성해 주세요. 원형의 스티커 모양을 위해 배열의 첫 번째 원소와 마지막 원소가 서로 연결되어 있다고 간주합니다.제한 .. 2024. 9. 23.
[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.