728x90
728x90
1. 조건에 맞는 도서와 저자 리스트 출력하기 문제 설명 BOOK 테이블은 각 도서의 정보를 담은 테이블입니다. BOOK_ID, CATEGORY, AUTHOR_ID, PRICE, PUBLISHED_DATE는 각각 도서 ID, 카테고리, 저자ID, 판매가, 출판일을 나타냅니다. AUTHOR테이블은 도서의 저자 정보를 담은 테이블입니다. AUTHOR_ID, AUTHOR_NAME은 각각 저자 ID, 저자명을 나타냅니다. 문제 '경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. 풀이 -- 코드를 입력하세요 SELECT BOOK_ID, AUTH..
1. 이진 변환 반복하기 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 풀이1. def solution(s): answer = [] cnt = 0 zeroCnt = ..
1. 상품 별 오프라인 매출 구하기 문제 PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요. 내 풀이 SELECT P.PRODUCT_CODE, SUM(O.SALES_AMOUNT * P.PRICE) AS SALES FROM PRODUCT P INNER JOIN OFFLINE_SALE O ON P.PRODUCT_ID = O.PRODUCT_ID GROUP BY P.PRODUCT_CODE ORDER BY SALES DESC, PRODUCT_CODE ASC INNER JOIN: INNER JOIN은 두 테이블 간에 일치하는 ..
1. 같은 숫자는 싫어 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 내 풀이 def solution(arr): answer = [] for i in range(len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) elif i == 0: answer.append(arr[i]) return answer elif i..
1. 3월에 태어난 여성 회원 목록 출력하기 문제 MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요. 내 풀이 SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') FROM MEMBER_PROFILE WHERE MONTH(DATE_OF_BIRTH)=3 AND TLNO IS NOT NULL AND GENDER ='W' ORDER BY MEMBER_ID; WHERE - 3월에 태어난 사람 AND 전화번호가 있는 사람 AND 성별이 Wo..
1. 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 문제 CAR_RENTAL_COMPANY_CAR 테이블에서 '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해주세요. 이때 자동차 수에 대한 컬럼명은 CARS로 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요. 내 풀이 SELECT CAR_TYPE, COUNT(CAR_TYPE) AS CARS FROM CAR_RENTAL_COMPANY_CAR WHERE (OPTIONS LIKE '%통풍시트%') OR (OPTIONS LIKE '%열선시트%') OR (OPTIONS LIKE '%가죽시트%') GROUP BY CAR_TYPE ORDER BY CAR_TYPE..