[프로그래머스 | Lv. 1 | JavaScript] 체육복
·
알고리즘/문제
Link코딩테스트 연습 - 체육복 문제풀이(1)function solution(n, lost, reserve) { let answer = 0; const realLost = lost.filter(student => !reserve.includes(student)); const realReserve = reserve.filter(student => !lost.includes(student)); realLost.sort((a, b) => a - b); let set = new Set(realReserve); realLost.forEach(item => { if (item - 1 >= 1 && set.has(item - 1)) { ..
[프로그래머스 | Lv. 1 | JavaScript] 완주하지 못한 선수
·
알고리즘/문제
Link코딩테스트 연습 - 완주하지 못한 선수 문제풀이(1)function solution(participant, completion) { let map = {}; let p; for (let i = 0; i (2)function solution(participant, completion) { const count = {}; // 참가자 배열에서 각 이름의 등장 횟수를 기록합니다. participant.forEach(name => { count[name] = (count[name] || 0) + 1; }); // 완주자 배열에서 각 이름의 카운트를 감소시킵니다. completion.forEach(name => { count[name]--; }); // ..
[프로그래머스 | 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