목록분류 전체보기 (294)
Muscardinus
https://programmers.co.kr/learn/courses/30/lessons/17676 e.slice(11).split(" ")).map((e) => [toTimeNumber(e[0]), Number(e[1].replace("s",""))]); const times = logs.map((e) => [e[0] - (e[1] * 1000) + 1, e[0]]).sort((a, b) => a[0] - b[0]); let answer = 0; let window = []; times.forEach(([start, end]) => { window.push(end); window = window.filter((e) => e > start - 1000); answer = Math.max(window.l..
https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr function solution(n, k) { const s = n.toString(k).split("0"); const isPrime = (num) => { if (num === 1) return false; for (let i = 2; i c !== "" && isPrime(+c)).length; }
https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr function solution(dirs) { let cur = [0, 0]; const dObj = { "U": [-1, 0], "D": [1, 0], "L": [0, -1], "R": [0, 1], }; const track = new Set(); for (let dir of dirs) { const ny = cur[0] + dObj[dir][0]; const nx = cur[1] + dObj[dir][1]; if (ny > 5 || ny 5 || nx < -5) continue; track.add(`${cur[0]..
https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr function solution(n, left, right) { const answer = []; for (let i = left; i
https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr function solution(word) { const dict = []; const alph = "AEIOU" const dfs = (w, depth) => { if (depth === alph.length) return; dict.push(w); for (let i = 0; i < alph.length; i++..
https://programmers.co.kr/learn/courses/30/lessons/87377 코딩테스트 연습 - 교점에 별 만들기 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 계획1 - 문제에 나온 공식대로 모든 정수 교차점과 좌표의 최대/최솟값을 구합니다..
https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr function solution(n, wires) { let answer = Infinity; const link = {}; for (const wire of wires) { const [from, to] = wire; if (!link[from]) link[from] = []; if (!link[to]) link[to] = []; link[from].push(t..
https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 이 문제는 2가지 조건으로 나누어서 풀면 되는 문제이다. 1. 맨 뒤 비트가 0일 때 이 경우 단순히 맨 뒤 비트를 1로 바꿔주면 해당 수보다 큰 수 중 가장 작은 값이 된다. ex: 1110(14) -> 1111(15) 2. 맨 뒤 비트가 0이 아닐 때 이 경우, 뒤에서 부터 첫번째로 등장하는 "01"을 찾는다. 그리고 이 부분을 "10"으로 바꿔주면 2비트만 바꾸어 만들 수 있는 가장 작은 값이 된다. ex: 11011(27) -> 11101(29) function solution(numbers) { const answer =..