DS & Algorithm

    [백준] 1753번 최단경로 - 자바스크립트

    [백준] 1753번 최단경로 - 자바스크립트

    문제 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 코드 const MinHeap = (function () { function MinHeap() { this.heap = [-Infinity]; } MinHeap.prototype.size = function () { return this.heap.length - 1; }; MinHeap.prototype.push = function (val) { this.heap.push(val); this._upheap(this.si..

    [프로그래머스] 섬 연결하기 - 자바스크립트

    [프로그래머스] 섬 연결하기 - 자바스크립트

    문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 섬과 섬을 잇는 비용이 주어지고, 모든 섬끼리 통행이 가능한 최소의 비용을 구하는 문제다. 코드 function solution(n, costs) { let answer = 0; const length = costs.length; const parent = Array.from({ length }, (_, i) => i); costs.sort((a, b) => a[2] - b[2]); for (let i = 0; i < length; i++) { const [from, to, cost] = costs[i]..

    [프로그래머스] 양궁대회 - 자바스크립트

    [프로그래머스] 양궁대회 - 자바스크립트

    문제 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 카카오 기출문제이다. 문제도 상당히 길고 Test case 8, 18이 쉽지 않았던 문제라 level2에서도 상당한 난이도로 느껴진다. 코드 function solution(n, info) { let answer = new Array(11).fill(0); let answerDiff = Number.MIN_SAFE_INTEGER; function isSmallScoreArr(scoreArr) { for (let i = 10; i >= 0; i--) { if (s..

    [백준] 17406번 배열 돌리기 4 - 자바스크립트

    [백준] 17406번 배열 돌리기 4 - 자바스크립트

    문제 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 코드 function sol(input) { const [N, M, K] = input[0].split(' ').map(Number); let boards; let answer = Number.MAX_SAFE_INTEGER; const rotateOperations = input .slice(1 + N) .map((str) => str.split(' ').map(Number)); dfs(0, []); return answer; ..

    [백준] 13460번 구슬 탈출 2 - 자바스크립트

    [백준] 13460번 구슬 탈출 2 - 자바스크립트

    문제 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 긴 문제와 조건을 기반으로 순서를 파악해 구현하는 구현유형이자 그래프 기반 BFS 유형이기도 하며 시뮬레이션 유형이기도 하다. 종합선물세트와도 같은 문제를 풀다가, 자그마한 실수를 개선하면서 정답이 나와서 정리하게 되었다. 자바스크립트로 코테 연습하는분들 화이팅 아무튼 여러분이 궁금한 것은 코드일테니, 가장 먼저 소개할 것은 성공을 출력해주는 코드이다. 풀이도 궁금하다면 이어서 계속 보면 되겠다. 코드 fun..

    [프로그래머스] 가사 검색 - 자바스크립트

    [프로그래머스] 가사 검색 - 자바스크립트

    문제 코딩테스트 연습 - 가사 검색 programmers.co.kr 이진탐색으로 풀기 위해서 많은 시간을 소요했고, 결국 풀어서 포스팅하게 되었다. 다소 로직이 더러울 수 있고 더 효과적인 방법이 있을 수 있으니, "이렇게도 정답은 나오는구나" 정도로 보시길 바랍니다. 코드 function solution(words, queries) { const answer = []; const wordsObj = {}; const reverseWordsObj = {}; function findQuestion(query, start, end) { let result = -1; while (start arr.sort()); } ascendSort(wordsObj); ascendSort(reverseWordsObj); f..