목록문제풀이/Programmers (42)
말랑한 하루
[ 개요 ] 브루트포스 [ 소스 코드 ] function solution(begin, target, words) { const INT_MAX = 2147483647; let answer = INT_MAX; words.unshift(begin); let visit = new Array(words.length).fill(INT_MAX); if (!words.includes(target)) return 0; const checkWord = (o1, o2) => { return o1.filter((o, idx) => o != o2[idx]).length == 1 ? 1 : 0; } const changeWord = (prev, cnt) => { if (words[prev] === target) { answer ..
[ 학습 내용 ] 문제 내용을 이해하지 못해 풀이를 참조했던 문제이다. 첫 접근을 입출력 예#1만을 참조하여 아! 해당 작업량의 제곱근을 구해, 가장 가까운 큰 제곱근의 제곱값을 구하면 되는구나! 라고 생각하여 해멨다. 피로도는 제곱되므로 야근의 피로도를 최소로하기 위해선, 전체 작업을 하향평준화 해야한다. 작업량의 최대값을 Demi가 일할 수 있는 양만큼 1씩 빼주며 순환진행하면 전체적인 하향평준화가 된다. [ 소스 코드 ] function solution(n, works) { if (works.reduce((acc, cur) => acc + cur, 0) o2 - o1); while(n) { let max = works[0]; for(let i=0; i= max) { works[i]--; n--; }..