728x90
반응형

프로그래머스 7

[MySQL] 헤비유저가 소유한 장소

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/77487문제 요약PLACES 테이블에서 공간을 둘 이상 등록한 "헤비 유저"의 공간 정보를 조회하고, 결과를 ID 순으로 정렬해야 합니다.풀이 방법헤비 유저 식별:HOST_ID를 기준으로 그룹화하여 각 유저가 등록한 공간의 개수를 계산합니다.COUNT(*) >= 2 조건을 만족하는 유저를 식별합니다.헤비 유저의 공간 정보 조회:서브쿼리 또는 CTE를 이용해 필터링된 유저의 HOST_ID를 기반으로 원래 테이블에서 데이터를 조회합니다.결과 정렬:결과를 ID 기준으로 정렬합니다.정답 코드SELECT p.ID, p.NAME, p.HOST_IDFROM PLACES as pWHERE p.HOST_ID..

코딩테스트/SQL 2024.12.23

[프로그래머스] 자릿수 더하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12931문제 요약자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.푼 방법정수를 입력받은 후 이를 문자열화, 리스트화 시킨 후순차적으로 돌면서 각 요소를 정수화 한 뒤 결과변수에 저장 정답 코드def solution(n): answer = 0 li = list(str(n)) for i in li: answer += int(i) return answer

[프로그래머스] 약수의 합

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12928#qna문제 요약정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.푼 방법정수 i를 i*i 이때 약수가 제곱수가 되는 경우, n%i와 n/i이 두번 더해지기 때문에, 제곱수인경우 그 수는 한번만 더해줌 (8번 조건문) 정답 코드def solution(n): answer = 0 i = 1 while i*i 배웠던 부분프로그래머스 Lv1부터 쭉 풀어보겠습니다

[MySQL] - 오랜 기간 보호한 동물(1)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/59044문제 요약ANIMAL_INS와 ANIMAL_OUTS 테이블을 사용하여, 아직 입양되지 않은 동물 중 보호소에 가장 오래 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL 쿼리를 작성해야 합니다. 결과는 보호 시작일 기준 오름차순으로 정렬합니다.풀이 방법 ANIMAL_INS 테이블의 동물 중 ANIMAL_OUTS 테이블에 입양 기록이 없는 동물을 찾아야 하므로 LEFT JOIN을 사용합니다.LEFT JOIN 후, ANIMAL_OUTS 테이블의 ANIMAL_ID가 NULL인 경우, 해당 동물은 입양되지 않았음을 의미합니다.보호 시작일(DATETIME)을 기준으로 정렬하여 상위 3..

코딩테스트/SQL 2024.10.26

[MySQL] 카테고리 별 도서 판매량 집계하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/144855문제 요약BOOK 테이블과 BOOK_SALES 테이블을 활용하여 2022년 1월에 판매된 도서의 카테고리별 총 판매량을 구하는 문제입니다. 결과는 카테고리명을 기준으로 오름차순으로 정렬해야 합니다.풀이 방법 JOIN: BOOK 테이블과 BOOK_SALES 테이블은 BOOK_ID를 기준으로 연결됩니다. 따라서 BOOK_ID를 이용하여 두 테이블을 INNER JOIN합니다.날짜 필터링: BOOK_SALES 테이블에서 2022년 1월에 해당하는 판매량만을 필터링해야 합니다. 즉, SALES_DATE가 2022년 1월에 해당하는 데이터만 선택합니다.카테고리별 판매량 합산: BOOK 테이블의..

코딩테스트/SQL 2024.10.25

[MySQL] - 있었는데요 없었습니다

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/59043문제 요약주어진 두 테이블 ANIMAL_INS와 ANIMAL_OUTS에서 보호소에 들어온 동물들 중에서 보호 시작일(DATETIME) 보다 입양일(DATETIME) 이 더 빠른 동물의 ANIMAL_ID와 NAME을 조회해야 합니다. 결과는 보호 시작일이 빠른 순서대로 정렬되어야 합니다.풀이 방법 INNER JOIN: 두 테이블 ANIMAL_INS와 ANIMAL_OUTS는 ANIMAL_ID를 통해 연결되어 있습니다. 따라서 두 테이블을 ANIMAL_ID를 기준으로 조인하여 보호 시작일과 입양일 정보를 모두 가져옵니다.입양일 조건 필터링: 보호 시작일보다 입양일이 더 빠른 동물을 필터링해..

코딩테스트/SQL 2024.10.25

[MySQL] 부서별 평균 연봉 조회하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/284529문제 요약주어진 문제는 회사의 부서 정보와 사원 정보가 저장된 두 개의 테이블, HR_DEPARTMENT와 HR_EMPLOYEES 테이블을 이용하여 부서별 평균 연봉을 계산하는 SQL 쿼리를 작성하는 것입니다. 쿼리는 다음과 같은 결과를 반환해야 합니다:부서 ID영문 부서명부서별 평균 연봉 (소수점 첫째 자리에서 반올림하여 표시)결과는 평균 연봉을 기준으로 내림차순 정렬해야 합니다.풀이 방법테이블 결합: 부서 정보(HR_DEPARTMENT 테이블)와 사원 정보(HR_EMPLOYEES 테이블)를 부서 ID를 기준으로 JOIN합니다.평균 연봉 계산: AVG() 함수로 부서별 평균 연봉을..

코딩테스트/SQL 2024.10.09
728x90
반응형