코드 리뷰
186
k291760731
6 asked
0
// Section 4. 완전 탐색 (브루트 포스) - 졸업 선물
// 문제 해결 과정
// [v] 문제 이해 : 현재 예산으로 최대 몇명의 학생에게 선물을 사줄 수 있는지 구하기
// [v] 상품 하나를 50% 할인해서 살 수 있다. => 들어온 상품 중에 가장 "비싼" 상품에 할인을 적용
// [v] 각 상품과 배송비를 합친 후 오름 차순 정렬
// [v] 정렬된 리스트에서 예산이 될 때마다 감산 적용하고, 안된다면 그대로 stop -> cnt 반환
function solution(m, product) {
let answer = 0;
let max = Number.MIN_SAFE_INTEGER;
// 가장 비싼 상품 찾아서 50% 할인 적용하기
for (let i = 0; i < product.length - 1; i++) {
for (let j = 0; j < product[i].length; j++) {
if (product[i + 1][0] > max) {
max = product[i + 1][0];
}
}
}
for (let i = 0; i < product.length; i++) {
if (product[i][product[i].indexOf(max)]) {
product[i][product[i].indexOf(max)] /= 2;
}
}
// 각 상품과 배송비를 합쳐서 정렬한다.
const sum_arr = quick_sort(
product.map((value) => {
return value[0] + value[1];
})
);
// 정렬된 리스트에서 예산이 될 때마다 감산 적용하고, 안된다면 그대로 stop -> cnt 반환
sum_arr.map((value) => {
if (m - value < 0) return;
m -= value;
answer++;
});
return answer;
}
function quick_sort(arr) {
if (arr.length < 2) return arr;
const left = [];
const right = [];
const middle = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] < middle) {
left.push(arr[i]);
} else if (arr[i] > middle) {
right.push(arr[i]);
} else {
middle.push(arr[i]);
}
}
return quick_sort(left).concat(middle, quick_sort(right));
}
let arr = [
[6, 6],
[2, 2],
[4, 3],
[4, 5],
[10, 3],
];
console.log(solution(28, arr)); // 4
너무 불필요한 반복문이 사용되는걸까요 ?
어떻게 보시는지 궁금합니다 ..
javascript
코테 준비 같이 해요!
Answer 1
continue를 사용하는 이유
0
89
2
정렬 가능 여부 판단하기
0
75
2
알고리즘 학습법 관련해서 질문드립니다.
0
92
1
코드 리뷰 부탁드립니다!
0
98
1
indexOf를 사용해서 풀어보았습니다 !!
0
73
1
저는 이런식으로 구현 해보았습니다 !!
0
66
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
106
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
69
1
영상 보기 전에 직접 풀어봤습니다.
0
76
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
137
2
정규표현식으로 처리해도 상관없나요 ?
0
123
2
3칸씩 건너뛸 수 있을 경우
0
126
2
강의에 대해 질문있습니다.
0
138
2
Object와 Set을 이용해 풀어봤습니다.
0
123
2
이렇게 해도 되나요?
0
103
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
148
2
이렇게 풀어도 괜찮을까요?
0
142
1
이렇게 풀어도 괜찮을까요?
0
120
1
모든 아나그램 찾기에서 시간복잡도
0
102
1
코드리뷰 부탁드립니다.
0
133
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
133
1
투포인트알고리즘으로 풀어봤습니다.
0
144
0
코드 리뷰 부탁드립니다.
0
120
1
코드 맞게 작성한 거 아닌가여??
0
149
1

