[Cheat Sheet] 배열 특정값으로 채우기 , 요소를 1씩 증가시키기
배열을 한개의 값으로 채우기 let n = 5 let fillone = new Array(n).fill(1) ex : [1,1,1,1,1] 배열의 값을 1씩 증가시키기 let n = 5 let stairs = Array.from(new Array(n) , (x,i) => i + 1) ex : [1,2,3,4,5]
배열을 한개의 값으로 채우기 let n = 5 let fillone = new Array(n).fill(1) ex : [1,1,1,1,1] 배열의 값을 1씩 증가시키기 let n = 5 let stairs = Array.from(new Array(n) , (x,i) => i + 1) ex : [1,2,3,4,5]
최대 공약수 코드 const gcd = (a, b) => { if (b === 0) return a return gcd(b, a % b) } b가 0이라면 a가 최대공약수이니 a를 리턴합니다. b가 0이 아니라면 greatest를 재귀로 호출하고 a자리에 b를 b자리에 a%b를 넣어줍니다. 최소공배수 코드 const lcm = (a,b) => (a*b) / gcd(a,b) 최소공배수는 최대공약수를 알고있으면 쉽게 구할 수 있습니다.
function solution(num) { let arr = Array(num + 1).fill(true); arr[0] = false; arr[1] = false; for(let i = 2; i * i
function solution(n) { let answer = [] let divisor = 2 while (n >= 2) { if (n % divisor === 0) { answer.push(divisor) n = n / divisor; } else divisor++; } return answer } 2부터 소인수분해를 시도합니다. 만약 n이 divsior로 나눠진다면 계속 divisor로 나눠줍니다. 나눠지지 않는다면 divisor의 값을 높여서 다시 비교해줍니다.
function findrunner(arr) { let obj = new Object() for(i=0; i< arr.length ; i++) { if(obj[arr[i]] == undefined) { obj[arr[i]] = 1 } else{ obj[arr[i]]++ } } return obj } 중복이 있는 배열에서 중복값을 카운트해줄 필요가 있을 때 사용하는 코드입니다. map.set(a, (map.get(a) || 0) + 1); map 자료구조를 이용해서 위 코드와 비슷하게 작동시키는 방법입니다. or 처리로 if문을 생략할 수 있다는 장점..
var findWords = function(words) { let row1 = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p']; let row2 = ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l']; let row3 = ['z', 'x', 'c', 'v', 'b', 'n', 'm']; let answer = []; words.forEach(x => { let spliter = x.toLowerCase().split(''); if(spliter.every(j => row1.includes(j))) answer.push(x) if(spliter.every(j => row2.includes(j))) answer.push(x) if(s..