본문 바로가기

전체 글200

[SQL] 업그레이드 할 수 없는 아이템 구하기, IS NULL ※ 업그레이드 할 수 없는 아이템 구하기https://school.programmers.co.kr/learn/courses/30/lessons/273712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIP우선 ITEM_TREE 테이블에서 업그레이드가 가능한 ID들을 중복없이 구해야한다. (이때 NULL은 제외시킴)SELECT DISTINCT PARENT_ITEM_IDFROM ITEM_TREEWHERE PARENT_ITEM_ID IS NOT NULL;이후, ITEM_INFO 테이블 중에 위의 결과에 포함되지 않는 것들만 구한다. 전체 코드SELE.. 2024. 7. 14.
[SQL] 부서별 평균 연봉 조회하기, ROUND, AVG ※ 부서별 평균 연봉 조회하기https://school.programmers.co.kr/learn/courses/30/lessons/284529 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIP우선 두 테이블을 조인해준후, DEPT별로 SAL의 평균을 구해주기 위해 GROUP BY절과 AVG함수를 사용한다. 이후, 소수점 첫째자리에서 반올림하기 위해 ROUND(값,0)을 사용하고 내림차순으로 ORDER BY해주었다. 전체 코드SELECT HR_EMPLOYEES.DEPT_ID, DEPT_NAME_EN, ROUND(AVG(SAL),0) AS AVG.. 2024. 7. 14.
[SQL] 특정 물고기를 잡은 총 수 구하기, COUNT ※ 특정 물고기를 잡은 총 수 구하기https://school.programmers.co.kr/learn/courses/30/lessons/298518 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIP우선 물고기 종류별로 총 수를 구해보자.SELECT FISH_TYPE, COUNT(*) AS COUNTFROM FISH_INFOGROUP BY FISH_TYPE;이후 FISH_NAME_INFO 테이블과 조인하여 물고기 이름이 BASS와 SNAPPER인 경우를 합하여 출력한다. 전체 코드SELECT SUM(A.COUNT) AS FISH_COUNTFR.. 2024. 7. 14.
[SQL] 연도별 대장균 크기의 편차 구하기, GROUP BY, JOIN ※ 연도별 대장균 크기의 편차 구하기https://school.programmers.co.kr/learn/courses/30/lessons/299310 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIP우선 분화된 연도별 가장 큰 대장균의 크기를 구하는 테이블을 만든다.SELECT YEAR(DIFFERENTIATION_DATE) AS YEAR, MAX(SIZE_OF_COLONY) AS MAXFROM ECOLI_DATAGROUP BY YEAR(DIFFERENTIATION_DATE);출력 시에는 기존 테이블에 있던 데이터를 출력해야 하고, 위의 테이.. 2024. 7. 13.
[SQL] 입양 시각 구하기(2), SET ※ 입양 시각 구하기(2)https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIP0부터 23까지 시간을 반복시키기 위해 변수를 선언해준다. 1씩 증가시키며 23까지 도달하면 끝난다. 각 시간에 해당하는 레코드의 count 수를 반환한다. 전체 코드SET @hour := -1;SELECT (@hour := @hour + 1) as HOUR, (SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) =.. 2024. 7. 12.
[Algorithm] 백준 1912 연속합 | 파이썬 (DP, Dynamic Programming) ※ 1912 연속합https://www.acmicpc.net/problem/1912 문제 해결 TIP현재값이 큰지, 이전 dp값과 현재값을 더한 값이 큰지 비교해야 한다. dp의 상태는 다음과 같이 변화한다. 최종 dp의 max값을 출력하면 된다.  전체 코드 n = int(input())number = list(map(int,input().split()))#number = [10, -4, 3, 1, 5, 6, -35, 12, 21, -1]dp = [-10000]*(n+1)dp[0] = number[0]for i in range(1,len(number)): dp[i] = max(dp[i-1]+number[i],number[i])print(max(dp)) 2024. 7. 10.
[SQL] 대장균들의 자식의 수 구하기, LEFT JOIN, COALESCE, GROUP BY ※ 대장균들의 자식의 수 구하기https://school.programmers.co.kr/learn/courses/30/lessons/299305 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIP우선 PARENT_ID별로 개수를 구해보자. (NULL값은 제외)SELECT PARENT_ID, COUNT(*) AS PARENT_COUNTFROM ECOLI_DATAGROUP BY PARENT_IDHAVING PARENT_ID IS NOT NULL;ECOLI_DATA 테이블을 기준으로 LEFT JOIN을 조인해야 한다. (순차적으로 ID출력해야하므로).. 2024. 7. 10.
[SQL] 물고기 종류 별 대어 찾기, GROUP BY, JOIN ※ 물고기 종류 별 대어 찾기https://school.programmers.co.kr/learn/courses/30/lessons/293261 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIP물고기의 종류 별로 GROUP BY한 후, 가장 큰 LENGTH를 구하여 조건절에 삽입한다. 전체 코드SELECT ID, FISH_NAME, LENGTHFROM FISH_INFO JOIN FISH_NAME_INFOON FISH_INFO.FISH_TYPE=FISH_NAME_INFO.FISH_TYPEWHERE FISH_INFO.FISH_TYPE IN ( .. 2024. 7. 10.
[SQL] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기, GROUP BY, IFNULL ※ 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기https://school.programmers.co.kr/learn/courses/30/lessons/298519 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 TIPNULL인 경우는 10으로 대체하고, 평균 길이가 33이상인 것은 GROUP BY HAVING절로 구현한다. 전체 코드SELECT COUNT(*) AS FISH_COUNT, MAX(IFNULL(LENGTH, 10)) AS MAX_LENGTH, FISH_TYPEFROM FISH_INFOGROUP BY FISH_TYPEHAVING .. 2024. 7. 9.