본문 바로가기

programming study

(889)
[프로그래머스] 최솟값 만들기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 최솟값 만들기 function solution(A, B) { let answer = 0; // A를 오름차순 정렬 A.sort((a, b) => a - b); // B를 내림차순 정렬 B.sort((a, b) => b - a); // 각 배열의 요소를 하나씩 접근하여 곱하기 for (let i = 0; i < A.length; i++) { answer += A[i] * B[i]; } return answer; } Comment 각 두 배열의 요소를 더하는데 최소가 되도록 만들어야 한다. 즉, A배열에서의 최솟값 * B배열에서의 최댓값을 구하면 최소가 되므로, A는 오름차순 정렬을 하고 ..
[프로그래머스] N개의 최소공배수 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // N개의 최소공배수 // 유클리드 호제법으로 최대공약수를 구하는 함수 function findGcd(a, b) { if (a % b === 0) { return b; } else { return findGcd(b, a % b); } } function solution(arr) { // 주어진 배열에 접근하여 최소공배수 구하기 let a = arr[0]; let b = 0; let lcm = 0; for (let i = 1; i lcm ? (a * b / fi..
[프로그래머스] 행렬의 곱셈 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 행렬의 곱셈 function solution(A, B) { let answer = []; for (let i = 0; i < A.length; i++) { // 행렬 A의 행 접근 - A const row = A[i]; answer.push([]); // 행렬 B의 열 접근해서 곱하기 - B // 행렬 B의 열 길이 for (let j = 0; j < B[0].length; j++) { let sum = 0; // 행렬 B의 행 길이 // B는 열을 고정해놓고 행을 이동하기 - C for (let k = 0; k < B.length; k++) { sum += row[k] * B[k][j..
[프로그래머스] x만큼 간격이 잇는 n개의 숫자 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // x만큼 간격이 잇는 n개의 숫자 function solution(x, n) { let answer = []; let number = x; for (let i = 0; i < n; i++) { answer.push(number) number += x; } return answer; } Reference 프로그래머스
[프로그래머스] 행렬의 덧셈 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 행렬의 덧셈 function solution(arr1, arr2) { let answer = []; // 배열의 각 요소 합치기 for (let i = 0; i < arr1.length; i++) { // 각 배열의 row const arr1Row = arr1[i]; const arr2Row = arr2[i]; // answer에 빈 배열 넣기 answer.push([]); // 각 배열의 요소에 접근하여 더하여 answer에 넣기 for (let j = 0; j < arr1Row.length; j++) { answer[i].push(arr1Row[j] + arr2Row[j]); } }..
[프로그래머스] 핸드폰 번호 가리기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 핸드폰 번호 가리기 function solution(phone_number) { let answer = ''; // 전화번호의 길이 const phoneNumberLength = phone_number.length; // 번호 가리기 for (let i = 0; i < phoneNumberLength; i++) { if (i < phoneNumberLength - 4) { answer += '*'; } else { answer += phone_number[i]; } } return answer; } Reference 프로그래머스
[프로그래머스] 하샤드 수 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 하샤드 수 function solution(x) { // 자릿수의 합을 구하기위해 문자열 화 const xString = String(x) // 자릿수의 합 구하기 let xSum = 0; for (let xStr of xString) { xSum += parseInt(xStr); } // 하샤드 수인지 검사 if (x % xSum === 0) { return true; } else { return false; } } Reference 프로그래머스
[프로그래머스] 평균 구하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) // 평균 구하기 function solution(arr) { // arr의 모든 합 const arrSum = arr.reduce((prev, curr) => prev + curr); // 평균 const answer = arrSum / arr.length; return answer; } Reference 프로그래머스