본문 바로가기

programming study

(889)
[프로그래머스] 합성수 찾기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드 const solution = (n) => { let synCnt = 0; for (let i = 1; i
[프로그래머스] 컨트롤 제트 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드 const solution = (s) => s.split(' ').reduce((obj, cur) => { let {acc, arr} = obj; if (cur === 'Z') { acc -= arr.pop(); } else { const curNumber = Number(cur); acc += curNumber; arr.push(curNumber); } return {acc, arr} }, {acc: 0, arr: []}).acc; Reference 프로그래머스
[프로그래머스] 문자열 계산하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 문자열 계산하기 const solution = (numlist, n) => numlist.sort((a, b) => { const diff = Math.abs(n - a) - Math.abs(n - b); if (diff === 0) { return b - a; } return diff; }); Reference 프로그래머스
[프로그래머스] 문자열 계산하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 문자열 계산하기 const solution = (my_string) => my_string.split(' ').reduce((obj, cur, index, origin) => { let {acc, isPlus} = obj; if (cur === '+') { isPlus = true; } else if (cur === '-') { isPlus = false; } else if (isPlus === true) { acc += Number(cur); } else if (isPlus === false) { acc -= Number(cur); } else { acc += Number(cur); } return {acc, isPlu..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 공 던지기 const solution = (numbers, k) => numbers[(2 * (k - 1)) % (numbers.length)]; 2. 진료 순서 정하기 const solution = (emergency) => emergency.reduce((obj, item, index, origin) => { const {sortedEmergency, result} = obj; obj.result = [...result, sortedEmergency.indexOf(emergency[index]) + 1]; return obj; },{ sortedEmergency: emergency.slice().sort((a, ..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 2차원으로 만들기 const solution = (num_list, n) => num_list.reduce((array, number, index) => { const arrayIndex = Math.floor(index / n); if (array[arrayIndex] === undefined) { array[arrayIndex] = [number]; } else { array[arrayIndex].push(number); } return array; }, []) 2. 한 번만 등장한 문자 const solution = (s) => s.split('').sort().reduce((result, string, _, ..
[프로그래머스] 코딩테스트 입문 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 1. 약수 구하기 const solution = (n) => Array.from({length: n}, (_, index) => index + 1).filter(number=> n % number === 0); 2. 숨어있는 숫자의 덧셈(1) const solution = (my_string) => my_string.match(/[0-9]/g).reduce((acc, cur) => acc +Number(cur), 0); 3. 문자열 정렬하기(1) const solution = (my_string) => my_string.match(/[0-9]/g).map((string) =>Number(string)).sort((a, b..
자료구조와 알고리즘 - 최단 경로 알고리즘 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 최단 경로 알고리즘이란? 그래프에서 특정 정점에서 목적지까지 최단 경로를 구하는 알고리즘 BFS, DFS를 활용하여 구할 수 있음 종류 BFS 다익스트라(Dijkstra) 벨만-포드(Bellman-Ford's) 플로이드 와샬(Floyd Warshall) 목적에 따라 선택하기 BFS, DFS 그래프의 간선 가중치가 모두 같을 때 적합 지도가 주어지고 출발지 -> 목적지까지의 최단 경로를 구할 때 2. 다익스트라(Dijkstra) 알고리즘 간선에 가중치가 있고 각각 다른 경우 적합 Edsger Wybe Dijkstra가 고안 우선순위 큐를 이용하여 만듦 시간복잡도는 V가 정점의 수, E가 간..