DS & Algorithm

    [프로그래머스] 리코쳇 로봇 - 자바스크립트

    [프로그래머스] 리코쳇 로봇 - 자바스크립트

    문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 function solution(board) { const row = board.length; const col = board[0].length; const [dx, dy] = [ [-1, 0, 1, 0], [0, 1, 0, -1], ]; const NON_DIR = -10; const movedMap = {}; const BLOCK = { empty: '.', start: 'R', obstacle: 'D', goal: 'G', }; function getStartPos(board) { for (l..

    [프로그래머스] 덧칠하기 - 자바스크립트

    [프로그래머스] 덧칠하기 - 자바스크립트

    문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 function solution(n, m, section) { var answer = 0; const rollerLen = m - 1; let base = section[section.length - 1]; let cur; answer += 1; while (section.length) { cur = section.pop(); if (base - cur

    [프로그래머스] 대충 만든 자판 - 자바스크립트

    [프로그래머스] 대충 만든 자판 - 자바스크립트

    문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 프로그래머스에 들어갔는데, 새로운 문제들이 추가되었더라. 레벨1의 난이도 치고는 생각할 부분이 조금 있어 보여서, 포스팅하게 되었다. 코드 function solution(keymap, targets) { var answer = []; const keyPos = {}; keymap.forEach((km) => { [...km].forEach((alphabet, pos) => { if (!(alphabet in keyPos)) { keyPos[alphabet] = pos + 1; } else { ..

    [프로그래머스] 억억단을 외우자 - 자바스크립트

    [프로그래머스] 억억단을 외우자 - 자바스크립트

    문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 문제 조건을 재해석해야하고, 시간 초과도 신경써야 하는 문제다. 특히 시간 초과를 잘 생각하면서 설계해보자. e의 범위가 500만인데, 각 케이스마다 모두 조회를 해야한다면.. 기계가 힘들어한다. 코드 function solution(e, starts) { const denominators = getAllDenominators(e); const lowestMaxNumArr = getLowestMaxNumArr(denominators, e); return starts.map((s) => lowest..

    [프로그래머스] 숫자 카드 나누기 - 자바스크립트

    [프로그래머스] 숫자 카드 나누기 - 자바스크립트

    문제 https://school.programmers.co.kr/learn/courses/30/lessons/135807 코딩테스트 대비 겸 오랜만에 프로그래머스에 들어갔는데, 새로운 문제가 나와서 정리하게 되었다. 코드 function solution(arrayA, arrayB) { const cd1 = getCd(...arrayA.slice(0, 2)); const cd2 = getCd(...arrayB.slice(0, 2)); const allCdOfArrA = getAllCd(cd1, arrayA); const allCdOfArrB = getAllCd(cd2, arrayB); const deDuplicatedAllCd = deDuplicate(allCdOfArrA, allCdOfArrB); ret..

    [백준] 25632번 소수부르기게임 - 자바스크립트

    [백준] 25632번 소수부르기게임 - 자바스크립트

    문제 25632번: 소수 부르기 게임 용태가 부를 수 있는 소수는 $11, 13, 17$이고, 유진이가 부를 수 있는 소수는 $13, 17, 19$이다. 둘 다 최선을 다해서 플레이한다면 $13 → 17 → 11 → 19$로 진행될 수 있다. 용태가 더 이상 부를 소수가 www.acmicpc.net 새로 나온 따끈따끈한 문제에,, 실버4 난이도 치고는 생각할 게 조금 있어서 가져오게 되었다. 코드 function sol(input) { const [A, B] = input[0].split(' ').map(Number); const [C, D] = input[1].split(' ').map(Number); const yt = eratosThenes(A, B); const yj = eratosThenes(C..