2024. 9. 23. 10:13ㆍ부트캠프 TIL
1. 프로그래머스 이용한 sql과 알고리즘 문제 해결
1-1) sql 문제 : 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
ㄴ 문제 : 자동차 정보 테이블에서 [통풍시트,가죽시트,열선시트] 중 하나 이상의 옵션이 포함된 자동차가 종류 별로 몇대인지 출력해주세요. 자동차 수에 대한 컬럼명은 CARS로 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요.
ㄴ 설명_1 : 조회할 컬럼 체크 - (자동차종류, 자동차 수 컬럼지정명_CARS)
ㄴ 설명_2 : 자동차 옵션 통풍시트,열선시트,가죽시트 중 하나 이상 데이터 (LIKE문으로 각 3개의 데이터를 조회하고 OR문 함께 사용)
ㄴ 설명_3 : 자동차 종류별로 구분(GROUP BY로 자동차 종류 컬럼 그룹화)
ㄴ 설명_4 : 자동차 종류 오름차순(ORDER BY 사용)
ㄴ 실제 쿼리 :
SELECT CAR_TYPE, COUNT(*) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%가죽시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE ASC;
1-2) 알고리즘 문제 : 제일 작은 수 제거하기
ㄴ 문제에서 10일경우 -1을 리턴하라고 하는데 결국은 배열의 값이 1개만 존재하면 제일작은수를 비교할 수가 없기 때문에 배열길이가 1일경우에 -1을 리턴해주면된다.
ㄴ 그리고 배열길이를 arr, answer 두 배열 동일하게 맞춰줘야한다.
ㄴ 아래에서 반복문을 한번 더 실행해서 answer배열에 값을 넣어준다.
- 이때 최소값 min을 이미 구했기 때문에 min과 arr의 value가 같을땐 answer에 값을 넣어주지 않고, 그냥 continue시켜버린다.
ㄴ 이때 초기화해둔 cnt는 answer의 인덱스를 지정해서 값을 매칭시켜준다.
'부트캠프 TIL' 카테고리의 다른 글
[41] 부트캠프 TIL - 본캠프 23일차 (10) | 2024.09.25 |
---|---|
[40] 부트캠프 TIL - 본캠프 22일차 (0) | 2024.09.24 |
[38] 부트캠프 TIL - 본캠프 20일차 (0) | 2024.09.20 |
[37] 부트캠프 TIL - 본캠프 19일차 (4) | 2024.09.19 |
[36] 부트캠프 TIL - 본캠프 18일차 (0) | 2024.09.18 |