문제S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요.문제가 길지만 필요한 기능만 정리해보면 ..
문제배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,- arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. - arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 코드function solution(arr){ var answer = arr.filter((cur, id..
filter() 함수자바스크립트에서 `filter()` 함수는 배열의 각 요소를 조건에 맞춰 걸러 새로운 배열을 만드는 함수이다. 주어진 조건을 만족하는 요소만 담은 배열을 리턴한다. 예시const array = [1, 2, 3, 4, 5];const filteredArray = array.filter(function(element) { return element > 2;});console.log(filteredArray); // [3, 4, 5]배열 `array`에서 요소를 순회조건 `element > 2` 을 만족하는 요소만 필터링필터링된 요소를 `filteredArray`에 반환 매개변수`filter()`는 3개의 매개변수를 가진다. `element`: 배열의 현재 처리중인 요소`index`..
Emmet에밋은 HTML과 CSS 작성을 빠르게 할 수 있도록 도와주는 도구이다. 현재는 기본적으로 VS Code등 다양한 편집기에서 에밋을 지원하고있다. HTML 자동 완성우선 `` 태그를 에밋으로 생성해보자. 2가지 방법으로 생성이 가능한데 ! 혹은 html:5 를 입력하고 `tab` 키나 `enter`를 눌러주면 된다. HTML 기본 태그 생성하기 자식 태그 > > 기호로 자식이라는 것을 명시해주기만 하면 하위 태그가 생긴다. (div 하위에 ul 하위에 ui를 만들어라) 형제 태그 +div>h1+p 다시 올라가기 ^div>ul>li^ol 반복 *ul>li*5 그룹화div>(header>ul>li)..
문제0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 `numbers` 가 매개변수로 주어집니다. `numbers`에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. ex)[1, 2, 3, 4, 6, 7, 8, 9] => 14 코드const solution = numbers => 45 - numbers.reduce((acc, cur) => acc + cur , 0); 0~9까지의 합을 구한다(45) `reduce()` 함수를 사용하여 배열의 합을 구한다45에서 배열의 합을 빼면 숫자를 찾을 필요 없이 문제가 해결 된다 💡 reduce() 함수 알아보기 배열의 합을 구해보자 | reduce() 함수 #자바스크립트reduce 함수자..
화살표 함수함수의 정의 방식으로, 함수를 간결하게 표현 할 수 있다. 왜 이런걸 만들어서 사람 피곤하게 하니 라고 생각했었지만 자주 보고 쓰다 보면 어느 새 손에 익더라.. (아마도) 예시const add = (a, b) => a + b;console.log(add(1, 2)); // 3아주 아주 기초적인 `(a+b)`의 결과를 리턴해주는 함수다. 이런 기초적인 코드 구조가 이해 안된다면 코딩은 일찌감치 포기하지 말고 열심히 하십쇼. 정상입니다. 화살표 함수의 특징매개변수가 하나일 경우 소괄호`()` 생략 가능단일 표현식인 경우 중괄호 `{}`와 `return` 키워드 생략 가능 이번에는 함수가 어째서 저렇게 변신했는지 차례대로 살펴보자 #1 가장 익숙한 함수 모양// 가장 익숙한 함수 모양 #1fu..
reduce 함수자바스크립트에서 제공되는 함수 중 하나로, 배열의 각 요소끼리 합한 결과를 제공한다. 이제 배열의 합을 구할때 for문은 갖다 버리도록 하자. 기본구조array.reduce(callback(accmulator, currentValue, currentIndex, array), 0)매개변수 설명`callback`: 쓰는데 중요하지 않으니 패스하기로 함 (사실 설명 못하겠음)`accmulator(acc)`: (필수) 값을 누적하는 변수. 초기값으로 초기화 된다. (코드에서 맨 뒤에 보이는 0이 초기값이다.)`currentValue(cur)`: (필수) 현재 처리중인 요소`currentIndex(idx)`: 현재 요소의 인덱스`array`: 호출한 원본 배열`initialValue`: 초기값..
문제문자열 `s`를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하라ex) "1234" => 1234, "-1234" => -1234 코드function solution(s){ var answer = 0; answer = Number(s); return answer;}작동은 잘 됐지만 왠지 더 줄이고 싶어서 `const` 를 사용해서 줄여보기로함 코드 #2const solution = (s) => Number(s);아주 잘 동작함혹시 더 줄일수 있나 싶어 GPT에게 물어보기로 했다. GPT야 코드 줄여줘!const solution = s => +s;화살표함수의 매개변수가 하나뿐이라면 괄호를 생략할 수 있고 문자열에 `+`만 붙여줘도 자바스크립트에서는 숫자로 바꿔..
문제자연수 `n`을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하라 ex) n이 12345이면 [5,4,3,2,1]을 리턴한다 코드function solution(n) { var answer = []; var str = n.toString(); for(i=str.length-1; i>=0; i--){ answer.push(Number(str[i])); } return answer;}코드 설명 1. 매개변수 `n`을 문자열로 변환하여 `str` 변수에 저장2. 문자열 길이만큼 내림차수 반복해서 배열에 저장 GPT야 코드 줄여줘!function reverseArray(n) { // 숫자를 문자열로 변환한 후 뒤집고 각 문자를 숫자로 ..
문제정수배열 `arr`가 매개변수로 주어진다. `arr` 원소의 평균값을 return 하도록 함수를 완성하라. ex)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] => 5.5[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] => 94.0 코드function solution(arr) { var sum = arr.reduce((acc, current) => acc + current, 0); var avg = sum / arr.length; return avg;} 코드 설명`reduce()` 함수를 사용해서 배열의 합을 구한다.합을 배열의 길이만큼 나눈다. 💡 reduce() 함수 알아보기 배열의 합을 구해보자 | re..