백준 [node.js] > 1916번 최소 비용 구하기
·
🔒Algorithm
문제https://www.acmicpc.net/problem/1916 풀이처음에 dfs로 접근해서 풀었는데 시간초과로 틀려서 dp를 이용했다. 일단 map이라는 2차원 배열을 구현한다. 이 2차원 배열의 map[ i ][ j ] 는 i도시에서 j 도시로 갈 시 가장 가격이 싼 버스 요금을 나타 낸다. 만약 map[ i ][ j ] = Infinity 이면 해당 루트는 버스가 다니지 않는다고 생각하면 된다.  그리고 dp라는 2차원 배열을 구현한다. dp[ i ][ j ] 는 i 도시에서 j 도시로 가는 루트는 가장 버스요금이 싼 루트의 요금을 나타낸다.우리는 모든 경로를 탐색하면서 2차원 배열 dp를 완성시키고 최종적으로 dp[출발점][도착점] => 최소비용 을 구하면 된다.  const fs = req..
백준[node.js] > 11660번 구간 합 구하기5
·
🔒Algorithm
문제링크https://www.acmicpc.net/problem/11660 문제풀이이 문제는 언뜻보면 쉬어보인다. 하지만 단순하게 풀면 연산횟수가 너무 많아 시간초과가 난다. 연산횟수를 확인히 줄이기 위해 dp(동적계획법-dynamic programming)를 이용해야 한다. dp를 생각하는 순간 문제는 쉬어진다.let fs = require("fs");let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");let [tableInfo, ...arr] = input;let [N, M] = tableInfo.split(" ").map((num) => Number(num));let table = [];for (let i = 0; i N..
프로그래머스[JS] > 거스름돈
·
🔒Algorithm
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔥첫번째 풀이 ( 테스트 케이스 모두 통과 but 시간초과 )처음에 내가 작성한 코드이다. ( 하단 참조 ) 이 코드는 테스트 케이스는 모두 통과지만 시간초과 테스트에서 모두 시간초과가 나왔다😭 다른사람들의 코드를 참고해보니 재귀가 아닌 dp ( dynamic programming : 최적화 ) 문제였던 것 같다.function solution(n, money) { let answ..
프로그래머스[JS] > 정수 삼각형
·
🔒Algorithm
🔥문제링크https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  🔥풀이프로그래머스 홈페이지 코딩테스트 문제목록 위에 보면 AI 가 나를 분석해 추천해주는 문제가 있어서 그 문제를 풀어보았다. 알고리즘의 카테고리는 동적계획법으로 분류 되어 있었는데 정확히 동적계획법이 뭔지 궁금해서 찾아보니 ... 이렇다고 한다. 계산화 최적화라고 생각하면 될 것같고 dynamic programming (DP) 이라고 한다자 이제 진짜 풀이이다. function sol..