[프로그래머스 | Lv. 1 | JavaScript] 대충 만든 자판
·
알고리즘/문제
Link코딩테스트 연습 - 대충 만든 자판 문제풀이(1)function solution(keymap, targets) { let answer = new Array(targets.length).fill(0); let alphabet = ['A', 'B', 'C', 'D', 'E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; let map = {}; for (let i = 0; i = 0 && min > idx) min = idx; } map[char] = min; } for (let i = 0; i (2)function ..
[프로그래머스 | Lv. 1 | JavaScript] 둘만의 암호
·
알고리즘/문제
Link코딩테스트 연습 - 둘만의 암호 문제풀이(1)function solution(s, skip, index) { const alphabet = ['a', 'b', 'c', 'd', 'e', 'f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']; const skipSet = new Set(skip); const filtered = alphabet.filter(c => !skipSet.has(c)) const len = filtered.length; let tmp = [] for (let i = 0; i (2)function solution(s, skip, index)..
[프로그래머스 | Lv. 1 | JavaScript] 문자열 나누기
·
알고리즘/문제
Link코딩테스트 연습 - 문자열 나누기 문제풀이(1)function solution(s) { let answer = 0; let x = '' let xcnt = 0; let ocnt = 0; for (let i = 0; i
[프로그래머스 | Lv. 1 | JavaScript] 로또의 최고 순위와 최저 순위
·
알고리즘/문제
Link코딩테스트 연습 - 로또의 최고 순위와 최저 순위 문제풀이(1)function solution(lottos, win_nums) { let score = [6, 6, 5, 4, 3, 2, 1]; let wins = new Set(win_nums); let cnt = lottos.filter(item => wins.has(item)).length; let zeros = lottos.filter(item => item === 0).length; return [score[cnt + zeros], score[cnt]];}
[프로그래머스 | Lv. 1 | JavaScript] [1차] 다트 게임
·
알고리즘/문제
Link코딩테스트 연습 - [1차] 다트게임 문제풀이(1)function solution(dartResult) { const regex = /(\d+)([SDT])([*#]?)/g; const scores = []; let match; // 정규표현식을 이용하여 각 기회의 결과를 추출 while ((match = regex.exec(dartResult)) !== null) { let [_, scoreStr, bonus, option] = match; let score = parseInt(scoreStr); // 보너스에 따라 점수 제곱 적용 (S:1제곱, D:2제곱, T:3제곱) switch (bonus) { case 'S': score = Math.p..
[프로그래머스 | Lv. 1 | JavaScript] 옹알이 (2)
·
알고리즘/문제
Link코딩테스트 연습 - 옹알이 (2) 문제풀이(1)function solution(babbling) { const possibleWords = ["aya", "ye", "woo", "ma"]; let count = 0; babbling.forEach(word => { let prev = ""; let tempWord = word; for (let w of possibleWords) { if (tempWord.includes(w.repeat(2))) { return; // 연속된 같은 발음이 있으면 건너뜀 } } possibleWords.forEach(w =>..
[프로그래머스 | Lv. 1 | JavaScript] 실패율
·
알고리즘/문제
Link코딩테스트 연습 - 실패율 문제풀이(1)function solution(N, stages) { let arr = new Array(N + 2).fill(0) for (let s of stages) { arr[s] += 1; } let total = stages.length; let pre = 0; let fail = [] for (let i = 1; i b[1] - a[1] || a[0] - b[0]) return fail.map(f => f[0]);}
[프로그래머스 | Lv. 1 | JavaScript] 덧칠하기
·
알고리즘/문제
Link코딩테스트 연습 - 덧칠하기 문제풀이(1)function solution(n, m, section) { let answer = 0; let s = 1; for (let i = 0; i
[프로그래머스 | Lv. 1 | JavaScript] 소수 만들기
·
알고리즘/문제
Link코딩테스트 연습 - 소수 만들기 문제풀이(1)function solution(nums) { let answer = 0; nums.sort((a, b) => b - a); //console.log(nums) const max = nums[0] + nums[1] + nums[2]; let primes = new Array(max + 1).fill(true); primes[0] = false primes[1] = false for (let i = 2; i * i (2)function isPrime(num) { if (num
[프로그래머스 | Lv. 1 | JavaScript] 소수 찾기
·
알고리즘/문제
Linkhttps://school.programmers.co.kr/learn/courses/30/lessons/12921 문제풀이(1)function solution(n) { let answer = 0; for (let i = 2; i (2)function solution(n) { let primes = new Array(n + 1).fill(true); primes[0] = primes[1] = false; // 0과 1은 소수가 아님 for (let i = 2; i * i v).length;}간단 해설풀이(1) 은 타임아웃이 발생함. O(n 루트 n)풀이(2) 는 에라토스테네스의 체 활용. O(n 로그 로그 n)주의점