본문 바로가기

inflearn78

[ 자바스크립트(JavaScript) ] 08 - 일곱 난쟁이 📍 08 - 일곱 난쟁이 이 문제는 python을 이용해서 백준에서 풀어봤던 문제다. JS로 한번 풀어봤다. 핵심 로직을 찾는 부분에서 시간이 조금 걸렸는데, 결론적으로 9개 중 2개의 값을 뺐을 때 100이 되는 경우의 수를 모두 구하면 되고, bruteForce를 이용하면 된다. 또, 지금 생각났지만 처음 풀 때 python으로 slice를 이용했지만 실패했었다. 왜냐하면 앞 index부터 slice를 하게 되면 전체 배열의 길이가 줄어들기 때문에 error가 나기 때문이다. 따라서, 앞보다는 뒤에서부터 slice를 이용해서 풀면 된다. (j 인덱스는 i인덱스보다 항상 +1 많기 때문에 오류가 나지 않는다.) 여담으로 백준 코드를 제출할 때 자꾸 오답 판정을 받았는데 이유를 찾아보니 trim()을 안.. 2021. 8. 11.
[ 자바스크립트(JavaScript) ] 07 - 10부제 📍 07 - 10부제 배열의 일의 자리 숫자가 day와 같은 값이 총 몇개인지 세는 문제인데, filter를 이용하면 금방 찾을 수 있다. 여기서 알아두면 좋은 점은 어떤 값을 10으로 나눈 나머지는 일의자리 수가 나온다는 점이다. let day = 3; let cars = [12, 20, 54, 30, 87, 91, 30]; console.log(solution(day, cars)); function solution(day, cars){ let violateCar = cars.filter((car) => car % 10 === day); return violateCar.length; }; 2021. 8. 11.
[ 자바스크립트(JavaScript) ] 06 - 홀수 📍 06 - 홀수 짝수와 홀수가 섞인 배열에서 홀수를 고를 때는 filter를 이용해서 걸렀고, 홀수들 중 최소값은 Math.min 함수를 이용했다. 마지막으로 홀수끼리의 합은 reduce를 이용했다. solution([12, 77, 38, 41, 53, 92, 85]); function solution(arr){ let OddArr = arr.filter((item) => item % 2 !== 0); let sumOddArr = OddArr.reduce((acc, cur) => {return acc + cur}, 0); console.log(sumOddArr); console.log(Math.min(...OddArr)); } 2021. 8. 11.
[ 자바스크립트(JavaScript) ] 05 - 최솟값 구하기 📍 05 - 최솟값 구하기 가장 작은 수를 구하는 문젠데, 배열로 주어졌을 때는 Math.min 함수에 단독으로 배열을 넘겨주면 NaN값이 반환되므로 spreadOperator(...)를 사용해서 iterable한 값 중에서 Math.min을 구하거나 apply 함수를 이용하면 된다. 마지막 반복문을 이용하는 방법은 초기 min값을 JS에서 안정적으로 높은 값인 MAX_SAFE_INTEGER으로 할당하고 그보다 낮은 값을 보면 낮은 값을 할당하는 방법도 있다. console.log(solution([5, 3, 7, 11, 2, 15, 17])); // apply function solution(...arr){ return Math.min.apply(null, arr); } // Math.min funct.. 2021. 8. 10.
[ 자바스크립트(JavaScript) ] 04 - 1부터 N까지 합 출력하기 📍 04 - 1부터 N까지 합 출력하기 단순하게 값을 누적하는 문제다. sum 공식을 사용하거나 반복문을 사용했다. console.log(solution(6)); // sum공식 function solution(n) { return (n * (n + 1)) / 2; } // 반복문 function solution(n) { let answer = 0; for (let i = 1; i 2021. 8. 10.