문제명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다.명함 번호가로 길이세로 길이16050230703603048040가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x ..
문제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..
문제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 함수자..
문제문자열 `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..