프로그래머스 74

[Lv.3 / 프로그래머스 / SQL] 조건에 맞는 사용자와 총 거래금액 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) USED_GOODS_BOARD에서 STATUS가 'DONE'인 물건들의 가격 총 합이 70만원 이상인 사용자들을 조회해야 한다. 두 테이블의 정보를 함께 조회해야 하므로 아이디를 기준으로 INNER JOIN을 하였다. 이후, 사용자 아이디별로 PRICE를 합해야 하므로 GROUP BY를 통해 아이디별로 묶어주었다. SELECT USER.USER_ID, USER.NICKNAME, SUM(BOARD.PRICE) AS TOTAL_SALES FROM USED_GOODS_USER AS USER IN..

[Lv.1 / 프로그래머스 / SQL] 강원도에 위치한 생산공장 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) ADDRESS가 강원도로 시작하는 데이터를 조회해야 한다. SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE "강원도%"

[Lv.2 / 프로그래머스 / 파이썬] 광물 캐기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 곡괭이를 적절하게 골라 최소한의 피로도로 채광 작업을 마쳐야 한다. 앞에서부터 작업을 시작해야 하는데, 곡괭이 하나당 연속으로 5개씩 캐야 한다. 상위 등급의 곡괭이를 사용할 경우 최대한의 이득을 보도록 코드를 작성해야 한다. 이를 위해 곡괭이 종류별로 각 구간에 필요한 피로도를 기록하고, 하위 등급의 곡괭이를 사용할 때 필요한 피로도로 내림차순 정렬하면 가장 등급이 높은 곡괭이를 사용해야 이득이 많은 순으로 피로도 구간이 정렬된다. def solution(picks, minerals): # minera..

[Lv.3 / 프로그래머스 / SQL] 조건에 맞는 사용자 정보 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) USED_GOODS_BOARD 테이블을 WRITER_ID를 기준으로 그룹별로 묶었을 때, 3개 이상 존재하는 사용자 아이디를 조회해야 한다. 해당 조건은 JOIN을 통해 해결한 뒤, 전체 주소와 전화번호를 CONCAT 및 SUBSTRING으로 문제 조건에 맞도록 출력하면 된다. SELECT USER_ID, NICKNAME, CONCAT(CITY," ", STREET_ADDRESS1, " ", STREET_ADDRESS2) AS 전체주소, CONCAT(SUBSTRING(TLNO,1,3), "..

[Lv.1 / 프로그래머스 / SQL] 평균 일일 대여 요금 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) CAR_TYPE이 SUV인 자동차들의 평균 DAILY_FEE를 구해야 한다. 평균은 AVG, 반올림은 ROUND 함수를 통해 구할 수 있다. SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = "SUV"

[Lv.2 / 프로그래머스 / SQL] DATETIME에서 DATE로 형 변환

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) DATETIME을 DATE형태로 변환하여 출력해야 한다. DATE() 함수를 사용할 경우 값은 DATE 형으로 바뀌나, 출력 형태에 시간이 남아있기 때문에 DATE_FORMAT을 사용해야 한다. SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, "%Y-%m-%d") AS 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID

[Lv.2 / 프로그래머스 / SQL] 입양 시각 구하기(1)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) DATETIME 타입에서 시간을 추출하여 그룹별로 묶었을 때, 그 개수를 같이 조회해야 한다. HOUR() 함수를 통해 DATETIME에서 시간을 구할 수 있다. SELECT HOUR(DATETIME) AS HOUR, COUNT(ANIMAL_ID) AS COUNT FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR >= 9 AND HOUR < 20 ORDER BY HOUR

[Lv.3 / 프로그래머스 / SQL] 헤비 유저가 소유한 장소

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 테이블 내에 HOST_ID의 개수가 2개 이상인 데이터들을 조회해야 한다. 우선 HOST_ID의 개수를 세는 쿼리를 작성하고 INNER JOIN을 통해 연결하여 해결했다. SELECT A.ID, A.NAME, A.HOST_ID FROM PLACES AS A INNER JOIN (SELECT HOST_ID, COUNT(HOST_ID) AS CNT FROM PLACES GROUP BY HOST_ID HAVING CNT > 1) AS B ON A.HOST_ID = B.HOST_ID ORDER B..

[Lv.2 / 프로그래머스 / SQL] 중성화 여부 파악하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) SEX_UPON_INTAKE 컬럼에 Neutered, 혹은 Spayed의 포함 여부를 O, X로 표기하는 컬럼을 추가하여 조회해야 한다. CASE, 혹은 IF문을 활용하여 해결할 수 있다. IF SELECT ANIMAL_ID, NAME, IF (SEX_UPON_INTAKE LIKE "%Neutered%" OR SEX_UPON_INTAKE LIKE "%Spayed%", "O", "X") AS "중성화" FROM ANIMAL_INS ORDER BY ANIMAL_ID CASE SELECT ANI..

[Lv.1 / 프로그래머스 / SQL] 이름이 있는 동물의 아이디

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) NAME이 NULL이 아닌 데이터의 ANIMAL_ID를 오름차순으로 조회해야 한다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID

반응형