반응형 분류 전체보기151 Level3. 프로그래머스 점프와 순간 이동 - JavaScript function solution(n) { var ans = 0; while( n !== 0) { if( n % 2 === 0) n = n/2; else { ans ++; n = n-1; } } return ans; } 문제 설명 (현재 이동 거리)*2 순간이동은 이동 비용이 0 현재거리 +1 점프는 이동 비용이 1이다. 목표 지점 n까지 가는 최소 비용을 구해야 하기 때문에 최대한 순간이동을 하는게 맞다. 처음에는 BFS 최단 거리 구하는 문제인줄 알고 BFS로 구현했다. 그랬더니 정확성 테스트는 통과 하지만 효율성 테스트를 단 하나도 통과하지 못했다. ㅠㅠ 아래는 BFS로 짠 코드이다. 더보기 // 1. 순간이동으로 방문 할 수 있는 정점 방문 // 2. 한 칸 이동 // 3. 1번 부터 반복 func.. 2020. 10. 30. Level3. 프로그래머스 네트워크(DFS/BFS) - JavaScript function solution(n, computers) { let answer = 0; const visitedNode = []; for (let i = 0; i { if (!isConnected || visitedNode[nextNodeI.. 2020. 10. 29. React에서 TypeScript 사용하기 - Redux Middleware(Thunk, Saga) 비동기 작업을 처리할 때 주로 redux middleware를 사용하게 됩니다. 이때 주로 사용하는 library는 redux-thunk와 redux-saga입니다. 그래서 이번 글에서는 두 개의 library를 TS로 어떻게 사용하면 될지 소개합니다. Tip. 비동기 요청을 통해 가져오는 데이터의 경우 직접 타입을 하나 하나 정해주기 어려운 경우가 있습니다. 그럴 때 데이터를 넣어주면 자동으로 타입으로 변환해주는 서비스를 이용하면 편하게 타입을 만들 수 있습니다. ex. { "id": 1, "text": "this is text", "done": false } => export interface Todo{ id: number; text: string; done: boolean; } quicktype.i.. 2020. 10. 28. Level3. 프로그래머스 베스트앨범 - JavaScript // 장르 순위 매기기 // 해당 장르에서 많이 재생된 노래 순위 매기기 // 재생된 노래가 같다면 고유번호 낮은것을 앞으로 function solution(genres, plays) { var answer = []; const object = {}; for(let id = 0; id < genres.length; id++ ){ const genre = genres[id]; const count = plays[id]; if( object[genre] === undefined ) object[genre] = { sum: 0, plays: [] } object[genre].sum += count; object[genre].plays.push( { id, count } ); }; let sortedArr = .. 2020. 10. 28. 이전 1 ··· 4 5 6 7 8 9 10 ··· 38 다음