[41] 부트캠프 TIL - 본캠프 23일차
1. 프로그래머스 이용한 sql과 알고리즘 문제 해결
1-1) sql 문제 : 카테고리 별 도서 판매량 집계하기
ㄴ 문제 : 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리, 총판매량 리스트를 출력하는 SQL문을 작성해주세요. 결과는 카테고리명을 기준으로 오름차순 정렬해주세요.
※ 테이블 2개를 참조해서 조회.
ㄴ 설명_1 : 조회할 컬럼 체크 - (카테고리, 총판매량 지정컬럼명)
ㄴ 설명_2 : 2개 테이블 조인할 컬럼 체크 (도서ID)
ㄴ 설명_3 : 2번에서 조인한 후에 BOOK테이블에 카테고리, BOOK_SALES테이블에 판매량을 가져온다
ㄴ 설명_4 : 판매량 합산(SUM을 사용해서 합산) - 이때 컬럼지정명 TOTAL_SALES로 맞춰준다.
ㄴ 설명_5 : 2022년 1월 키워드 (WHERE문 + LIKE활용해서 2022년 1월 데이터 추출)
ㄴ 설명_6 : 카테고리별 판매량 (GROUP BY 활용)
ㄴ 설명_7 : 카테고리명 오름차순 정렬 (ORDER BY 활용)
ㄴ 실제 쿼리 :
SELECT
a.CATEGORY,
SUM(b.SALES) AS TOTAL_SALES
FROM BOOK a LEFT JOIN BOOK_SALES b ON a.BOOK_ID = b.BOOK_ID
WHERE b.SALES_DATE LIKE '%2022-01%'
GROUP BY a.CATEGORY
ORDER BY a.CATEGORY ASC
1-2) 알고리즘 문제 : 수박수박수박수박수?
ㄴ 매개변수 n으로 반복문을 실행한다.
ㄴ 삼항연산자로 빈문자열로 초기화해둔 str2에 규칙에따라 "박", "수" 를 넣어준다.
ㄴ 문자열을 합치기 위해 StringBuilder 객체를 사용한다.
- StringBuilder의 append메소드로 str2 - "수박수~" 문자열을 담는다.
- answer변수에 toString으로 출력한 내용을 초기화 하고 리턴한다.