본문 바로가기

전체 글76

[JavaScript] 프로그래머스 - 약수의 개수와 덧셈 /* 문제 : left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 자료 : 두 정수 left와 right 조건 : 계획 : 풀이 안에 적어놨음 반성 : 합을 먼저 다 구한뒤 빼는 방법도 있구나. 여러 방법을 생각하지 못하는 게 아쉬움... */ const solution = (left, right) => { let sum = 0; // 약수 구하는 법. left rgiht 순회하면서 1부터 i까지 커지는 j가 있다고하면 i % j === 0 이면 약수인 숫자 횟수에 추가 // 횟수 % 2 === 0이면 합을 더함 for (let i = left; i 2022. 9. 25.
[JavaScript] 프로그래머스 - 행렬의 덧셈 /* 문제 : 행렬 덧셈의 결과를 반환하라 자료 : 행과 열의 크기가 같은 arr1, arr2 조건 : 행과 열의 크기가 같다 계획 : 반복문으로 배열의 배열안에 합을 push()한다. 반성 : map()을 반복해서 쓸 수있을 거란 생각을 안 해봤었고, 또다른 배열을 선언할 필요없이 [[]] 이렇게 선언할 수도 있는 것 또한 처음 알았다. 문서를 찾아보고 다시 한 번 문제를 풀어봐야겠다. */ // 처음풀이 const solution = (arr1, arr2) => { let result = []; for (let i = 0; i < arr1.length; i++) { let sum = []; for (let j = 0; j < arr1[i].length; j++) { sum.push(arr1[i][j].. 2022. 9. 24.
[JavaScript] 프로그래머스 - 내적 /* 문제 : a와 b의 내적을 구하라 자료 : 길이가 같은 두 1차원 정수 배열 a, b 조건 : a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] n은 a, b의 길이 계획 : 반복문 반성 : reduce는 왜 해도해도 바로 떠오르지않는 건지!! */ const solution = (a, b) => { // 값을 저장할 변수 선언 let result = 0; // 반복문 for (let i = 0; i { return a.redu.. 2022. 9. 23.
[JavaScript] 프로그래머스 - 없는 숫자 더하기 /* 문제 : numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 찾아라 자료 : 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers 조건 : 0 ≤ numbers의 모든 원소 ≤ 9 1 ≤ numbers의 길이 ≤ 9 numbers의 모든 원소는 서로 다름 계획 : 재귀함수나 반복문으로 10까지 하나씩 대입해서 없으면 10 - 원소 를 합해줌. 반성 : 전체 합에서 배열에 있는 것들의 합을 빼면 쉽게 구할수 있었던 문제 하지만 숫자 커지면 불가하니 includes로 푸는 것도 나쁘지않았던 거 같다. */ const solution2 = (arr) => 45 - arr.reduce((cum, crt) => cum + crt); const solution = (arr.. 2022. 9. 23.