Algorithm & 자료구조/(인프런) 자바스크립트 알고리즘 문제풀이
[알고리즘]일곱 난쟁이 - 이중 for문으로 특정 요소 구하기
문제 9개 요소가 있는 배열이 있습니다. 이 배열의 7개의 합이 100일 때, 100을 이루는 7개의 요소를 구하세요. function solution(arr) { let answer = arr; let sum = arr.reduce((a, b) => a + b, 0); //reduce로 배열의 합을 구한다. for (let i = 0; i < arr.length; i++) { for (let j = i + 1; j < arr.length; j++) { //이중for문으로 배열 중 두 요소를 경우의 수로 묶는다. if (sum - (arr[i] + arr[j]) === 100) { //sum에서 인덱스 i,j의 값을 더한 값이 100이면 이 때의 i,j가 탈락해야함. arr.splice(j, 1); ar..
[알고리즘]10부제 - 일의 자리 숫자 비교
문제 자동차 번호 2자리 중 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하는지 여부를 파악하고 그 수량을 파악하세요. function solution(day, arr) { let answer = []; for (let x of arr) { if (x % 10 === day) answer.push(x); } return answer.length; } arr = [25, 23, 11, 47, 53, 17, 33]; console.log(solution(3, arr)); 일의 자리 숫자는 특정 숫자를 10으로 나눈 나머지.
[알고리즘] 1부터 n까지의 합
function solution(n) { let answer = 0; for (let i = 1; i
[알고리즘]배열의 최솟값 (for 문)
function solution(arr) { let answer, min = Number.MAX_SAFE_INTEGER; for (let i = 0; i < arr.length; i++) { if (arr[i] < min) min = arr[i]; } answer = min; return answer; } let arr = [5, 7, 1, 3, 2, 9, 11]; console.log(solution(arr)); for문을 사용해 배열 내의 최소값을 찾을 수 있다. min이라는 임의의 숫자(배열 내 최대 숫자 혹은, Number.MAX_SAFE_INTEGER를 사용해 안정적인 큰 숫자를 만든다. (이후 배열 내의 가장 작은 값을 찾아내며 비교한다.) 처음 for문이 돌 때, 배열 내의 임의의 요소(i번..