[프로그래머스 | Lv. 1 | JavaScript] 하샤드 수
·
알고리즘/문제
Link코딩테스트 연습 - 하샤드 수 문제풀이(1)function solution(x) { let sum = String(x).split('').reduce((acc, curr) => acc + Number(curr), 0); return x % sum === 0;}(2)function solution(x) { return !(x % String(x).split('').reduce((acc, curr) => acc + Number(curr), 0));}
[프로그래머스 | Lv. 1 | JavaScript] 정수 제곱근 판별
·
알고리즘/문제
Link코딩테스트 연습 - 정수 제곱근 판별 문제풀이(1)function solution(n) { let sqrt = Math.sqrt(n); return (sqrt % 1 === 0) ? (sqrt + 1) ** 2 : -1;}(2)function solution(n) { let sqrt = Math.sqrt(n); return Number.isInteger(sqrt) ? (sqrt + 1) ** 2 : -1;}
[프로그래머스 | Lv. 1 | JavaScript] 정수 내림차순으로 배치하기
·
알고리즘/문제
Link코딩테스트 연습 - 정수 내림차순으로 배치하기 문제풀이(1)function solution(n) { let answer = String(n).split('').sort((a, b) => b - a).join(''); return Number(answer);}(2)function solution(n) { return +String(n).split('').sort().reverse().join('');}
[프로그래머스 | Lv. 1 | JavaScript] 자연수 뒤집어 배열로 만들기
·
알고리즘/문제
Link코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 문제풀이(1)function solution(n) { //return String(n).split('').map(m => Number(m)).reverse(); return String(n).split('').map(Number).reverse();}
[프로그래머스 | Lv. 1 | JavaScript] 문자열 내 p와 y의 개수
·
알고리즘/문제
Link코딩테스트 연습 - 문자열 내 p와 y의 개수 문제풀이(1)function solution(s){ let answer = true; let lower = s.toLowerCase(); let pCnt = 0; let yCnt = 0; for (let c of lower) { if (c === 'p') pCnt += 1; else if (c === 'y') yCnt += 1; } return pCnt === yCnt;}(2)function solution(s) { const lower = s.toLowerCase(); return lower.split('p').length === lower.split('y').lengt..
배열 생성 심화: Array / Array.of / Array.from
·
JAVASCRIPT
Array()사용 예시// (1) 빈 배열 생성const emptyArray = Array();console.log(emptyArray); // []// (2) 길이만 지정해 배열 생성const arr2 = Array(5);console.log(arr); // [ , , , , ] (길이 5의 빈 슬롯 배열)console.log(arr.length); // 5// (3) 초기값을 가진 배열 생성const arr3 = Array(1, 2, 3);console.log(arr); // [1, 2, 3] 문제점console.log(Array(3)); // [ , , ] (길이 3의 빈 슬롯 배열)console.log(Array(3, 5)); // [3, 5]인자가 하나면 길이 ..
[프로그래머스 | Lv. 1 | JavaScript] 두 정수 사이의 합
·
알고리즘/문제
Link코딩테스트 연습 - 두 정수 사이의 합 문제풀이(1)function solution(a, b) { let answer = 0; const min = Math.min(a, b); const max = Math.max(a, b); for (let i = min; i (2)function solution(a, b) { const min = Math.min(a, b) - 1; const max = Math.max(a, b); return max * (max + 1) / 2 - min * (min + 1) / 2;}
[프로그래머스 | Lv. 1 | JavaScript] 나머지가 1이 되는 수 찾기
·
알고리즘/문제
Link코딩테스트 연습 - 나머지가 1이 되는 수 찾기 문제풀이(1)function solution(n) { let input = n - 1; for (let i = 2; i (2)function solution(n) { for (let x = 1; x
[프로그래머스 | Lv. 1 | JavaScript] x만큼 간격이 있는 n개의 숫자
·
알고리즘/문제
Link코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 문제풀이(1)function solution(x, n) { let answer = []; let sum = x; for(let i = 1; i (2)function solution(x, n) { return Array(n).fill(x).map((item, idx) => item * (idx + 1))}(3)function solution(x, n) { return Array.from({ length: n }, (_, i) => x * (i + 1));}
[프로그래머스 | Lv. 1 | JavaScript] 평균 구하기
·
알고리즘/문제
Link코딩테스트 연습 - 평균 구하기 문제풀이(1)function solution(arr) { let answer = 0; let len = arr.length; for (let a of arr) { answer += a; } return answer / len;}(2)function solution(arr) { return arr.reduce((acc, sum) => acc + sum) / arr.length;}