728x90
데일리루틴 SQL
MySQL 특정 옵션이 포함된 자동차 리스트 구하기 정답입니다.
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC
- WHERE OPTIONS LIKE '%네비게이션%' : OPTIONS 컬럼에서 네비게이션 문자열을 포함하는 레코드를 찾습니다. %는 0개 이상의 문자와 매칭되는 와일드카드입니다.
- ORDER BY CAR_ID DESC : CAR_ID를 기준으로 내림차순 정렬합니다.
데일리루틴 알고리즘
Java 과일 장수 정답입니다.
import java.util.*;
class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
Arrays.sort(score);
int n = score.length;
for(int i = n-m; i >= 0; i -= m) {
answer += score[i] * m;
}
return answer;
}
}
- Arrays.sort(score);
- 주어진 점수 배열을 오름차순으로 정렬합니다. 이렇게 하면 낮은 점수부터 높은 점수까지 정렬된 상태가 됩니다.
- int n = score.length;
- 배열의 길이를 n에 저장하여 이후 계산에서 반복적으로 호출하지 않도록 최적화합니다.
- for (int i = n - m; i >= 0; i -= m)
- 배열의 뒤에서부터 m개씩 묶어 상자를 구성합니다.
- n - m에서 시작하는 이유는 뒤에서 m개씩 묶을 때의 첫 번째 상자 시작 위치를 계산하기 위함입니다.
- i -= m으로 상자 단위로 이동하며 반복을 실행합니다.
- answer += score[i] * m;
- 각 상자에서 가장 낮은 점수는 score[i]입니다.
- 해당 상자의 가격은 score[i] * m이므로 이를 answer에 누적합니다.
- return answer;
- 최종 계산된 최대 이익을 반환합니다.
728x90
반응형
LIST
'Sparta > 데일리루틴' 카테고리의 다른 글
TIL(Today I Learned)_데일리루틴_24.12.03.Tue (0) | 2024.12.03 |
---|---|
TIL(Today I Learned)_데일리루틴_24.12.02.Mon (0) | 2024.12.02 |
TIL(Today I Learned)_데일리루틴_24.11.30.Sat (0) | 2024.11.30 |
TIL(Today I Learned)_데일리루틴_24.11.29.Fri (0) | 2024.11.29 |
TIL(Today I Learned)_데일리루틴_24.11.28.Thu (0) | 2024.11.28 |