Algorithm272 [ 자바스크립트(JavaScript) ] section04 - 5 - K번째 큰 수 📍 33 - K번째 큰 수 100장의 카드 중 3장을 뽑는 모든 경우의 수는 100C3이므로 161,700이다. 여기서 3장을 뽑아 각 카드의 적힌 수를 합하려면 3 중반 복문으로 bruteForce로 모든 경우의 수를 돌려보면 된다. 이 문제의 시간복잡도는 다항 시간인 O(N^3)이지만 N=100일때 최대 1,000,000번 수행하므로 시간 초과에 걸리지 않는다. (보통 반복문을 돌 때 1초당 최대 10^8 (약 1억번) 돌 수 있으므로, N=100일때는 O(N^4)까지는 커버 가능하다.) 또, 강의에서는 3중 반복문의 i, j, k의 범위를 모두 n까지로 설정했는데, 맨 마지막에서 k가 n을 벗어나면 반복문에 들지 않고, 마찬가지로 j가 n의 범위를 벗어나도 반복문에 들지 않기 때문에 자동적으로 종료.. 2021. 8. 22. [ 자바스크립트(JavaScript) ] section04 - 4 - 졸업선물 📍 section04 - 4 - 졸업선물(bruteForce) 상품을 최대한 많이 사야 하는 문제는 비용이 적게 드는 상품부터 포함하면 최대한 많이 살 수 있다는 점을 알고 이 문제를 풀자. 그리고 최대 몇 명의 학생들에게 사줄 수 있는지 보려면 경우의 수를 하나씩 따져가며 검사를 다 해야 하기 때문에 bruteForce를 이용하자. 이중 반복문을 돌면서 맨 처음 상품은 50% 할인 쿠폰을 사용하고 나머지 상품을 구매할 때는 그냥 더해주면 된다. 동일한 학생이 없으므로 i !== j인 조건을 추가하는 것도 잊지 말자. // 나의 코드 let n = 5; let m = 28; let cost = [[6, 6], [2, 2], [4, 3], [4, 5], [10, 3]]; console.log(solutio.. 2021. 8. 22. [ 자바스크립트(JavaScript) ] section04 - 3 - 멘토링 📍 section04 - 3 - 멘토링(bruteForce) 조금 어려운 문제였다. bruteForce로 풀어야 하는 것은 알고 있었지만, 어떤 흐름으로 문제를 풀어야 할지 고민이 많았다. 강의를 봤는데도 이해가 잘 안 돼서 복습을 여러 번 했다. 결과적으로 이 문제의 핵심은 n명의 학생이 각각의 경우에 m번의 수학 성적 모두 mento와 mentee가 될 수 있는 조건이 맞는지 찾아야 하고, 그 안에서 수학 등수를 나타내는 idx를 고려해서 mentoIdx < menteeIdx인 조건을 찾을 수 있는지 물어보는 문제인 것 같다. 또, mento와 mentee는 같은 학생일 때는 성립하지 않음을 알아야 한다. 강의에서 4 중반 복문으로 풀었는데, 반복문의 개수가 많다 보니까 헷갈려서 수학 성적이 m개가 .. 2021. 8. 22. [ 자바스크립트(JavaScript) ] section04 - 2 - 뒤집은 소수 📍 section04 - 2 - 뒤집은 소수(bruteForce) 자연수를 뒤집을 때 string형을 사용하는 대신 number형 그대로 뒤집는 방법을 알면 좋을 것 같다. 그리고 소수를 판별할 때는 반복문의 범위를 i 1); if (sum > 1) { for (let i = 2; i 2021. 8. 22. [ 자바스크립트(JavaScript) ] section04 - 1 - 자릿수의 합 📍 section04 - 1 - 자릿수의 합(bruteForce) 이번 섹션은 완전탐색 `bruteForce`를 사용해 문제를 풀어보는 섹션이다. 자릿수의 합을 구하고 그 합이 최대인 것까지는 잘 구할 수 있었는데, 자릿수의 합이 같을 때 원래 숫자를 비교하여 더 큰 숫자를 리턴하는 방법이 명확하게 떠오르지 않았다. 어렵게 생각 할 필요 없이 처음 자릿수의 합을 비교할 때 자릿수의 합만 저장하는 것이 아니라 변수를 따로 만들어서 원래 숫자까지 저장하는 방법을 쓰면 된다. 이후에 자릿수의 합이 동일한 값이 나오면 원래 숫자와 비교해서 더 큰 값으로 갱신해주면 된다. let n = 7; let arr = [133, 532, 701, 1001, 145]; console.log(solution(n, arr));.. 2021. 8. 22. 이전 1 ··· 12 13 14 15 16 17 18 ··· 55 다음