전체 글

전체 글

    프로그래머스 코딩테스트 연습 Level1 - 약수의 개수와 덧셈 [ javascript ]

    코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr n의 약수는 1, x, x, x..., n 이렇게 양쪽으로 짝이 생기면서 생기고 정수의 제곱근 값이 존재하는 경우는 짝이 존재하지 않는 약수가 됩니다. 그래서 정수의 제곱근 값이 없는 경우는 약수의 개수가 짝수가 되고 정수의 제곱근이 있는 경우는 약수의 개수가 홀수가 됩니다. const solution = (left, right) => { let answer = 0; for (let i = left; i

    프로그래머스 코딩테스트 연습 Level1 - 실패율 [ javascript ]

    코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 조건에 맞춰서 배열을 생성해서 실패율을 구한 후 인덱스를 기록하고 정렬하였습니다. const solution = (N, stages) => { let userLen = stages.length; return stages .reduce((arr, stage) => { if (stage { const t = el / userLen; userLen -= el; return { loss: t, idx }; }) .sort((a, b) => b.loss - a.loss)..

    프로그래머스 위클리 챌린지 4주차 - 직업군 추천하기 [ javascript ]

    코딩테스트 연습 - 4주차_직업군 추천하기 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 정렬을 위한 데이터를 뽑아내고 조건에 맞게 정렬하였습니다. const solution = (table, languages, preference) => { return table .map(r => { const row = r.split(" ").reverse(); const name = row.pop(); const score = languages.reduce( (acc, language, idx) => (acc += (row.indexOf(lan..

    프로그래머스 위클리 챌린지 6주차 - 복서 정렬하기 [ javascript ]

    코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 비교할 데이터를 객체 배열로 map한 후 sort를 통해 문제의 조건에 맞게 정렬하였습니다. const winningPoint = { N: 0, L: 0, W: 1 }; const getWinningRate = head => Array.from(head).reduce((acc, winning) => (acc += winningPoint[winning]), 0) / (head.length - head.match(/N/g).lengt..

    자주 사용하는 정규표현식 [ javascript ]

    자주사용하는 정규표현식 숫자를 포함하는 문자 const reg = /\d+/; console.log(reg.test("123")); // true console.log(reg.test("33asd")); // true console.log(reg.test("5asdasd")); // true console.log(reg.test("asdfasdf")); // true 숫자만 포함하는 문자 const reg = /^\d+$/; console.log(reg.test("123")); // true console.log(reg.test("33asd")); // false console.log(reg.test("5asdasd")); // false console.log(reg.test("asdfasdf")); /..

    소인수분해 알고리즘 [ javascript ]

    입력된 값 n을 소인수분해하여 배열로 return하는 알고리즘입니다. const primeFactors = n => { const answer = []; // 2로 나눠지면 계속 나누기 while (n % 2 === 0) { answer.push(2); n /= 2; } // 3부터 루트n까지 나눌 수 있으면 나누기 for (let i = 3; i * i 2) answer.push(n); return answer; }; console.log(primeFactors(10)); // [2, 5] console.log(primeFactors(12)); // [2, 2, 3] console.log(primeFactors(100)); // [2, 2, 5, 5] console.log(primeFactors(987..

    소수 판별 알고리즘 [ javascript ]

    n이 소수면 true 소수가 아니면 false를 return 하는 코드입니다. 2와 3을 제외한 모든 소수는 6k±1의 형태를 지닙니다. function isPrime(n) { if (n

    Nuxt.js 에 폰트 적용 방법

    Nuxt.js 폰트를 적용하는 방법입니다. 1. 웹 폰트 사용 nuxt.config.js에 html head영역에 폰트 삽입하듯이 넣으시면 됩니다 // nuxt.config.js export default { head: { link: [ { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap' } ] } } 2. 직접 폰트 삽입 assets/fonts 라는 폴더를 만들고 안에 폰트를 삽입해줍니다. // assets/main.scss @font-face { font-family: "Maplestory Light"; src: local("Map..

    프로그래머스 코딩테스트 연습 Level1 - 3진법 뒤집기 [ javascript ]

    function solution(n) { let ternary = ''; while (n !== 0) { ternary = n % 3 + ternary; n = Math.floor(n / 3); } return Array.from(ternary) .map((_, $) => _ * Math.pow(3, $)) .reduce((_, $) => _ + $, 0); } Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듭니다. map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. reduce() 메서드는 배열의 각 요소에 대해 주..

    전치행렬 구하기 [javascript]

    arr[0].map((_, c) => arr.map(r => r[c])); 참고 https://stackoverflow.com/questions/17428587/transposing-a-2d-array-in-javascript