[41] 부트캠프 TIL - 본캠프 23일차

2024. 9. 25. 12:08부트캠프 TIL

728x90

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으로 출력한 내용을 초기화 하고 리턴한다.

728x90