[프로그래머스]키패드 누르기 - javascript
레벨 1이라고 우습게 봤다가 감을 못잡았었는데, 풀이를 보고 나니 쉽게 이해가 되네요. 다시 풀면 잘 풀 수 있을것 같습니다. function solution(numbers, hand) { var answer = ''; const key = { //키패드 위치 수치화 1: [0,3], 2:[1,3], 3:[2,3], 4: [0,2], 5:[1,2], 6:[2,2], 7: [0,1], 8:[1,1], 9:[2,1], '*': [0,0], 0:[1,0], '#':[2,0] } const len = numbers.length; // 현재 키 위치 let handL = '*'; let handR = '#'; for(let i=0;i
더보기
[프로그래머스]여행경로 - javascript
구글링 검색 검색 후 해석. 알고나면 참 아무것도 아닌데 아직은 어렵네요. function solution(tickets) { let routes = []; function DFS(extra, current, route){ // extra(잔여티켓): [["ICN", "JFK"], ["HND", "IAD"], ["JFK", "HND"]] // current(현재위치): "ICN" // route(여행경로): ["ICN"] if (extra.length === 0) { routes.push(route); //잔여티켓 연산이 끝나면 routes로 정보전송 } //티켓 모두 사용 else { extra.forEach(([s, e], index) => { //s: 출발, e: 목적지 //index: 인덱스번호 ..
더보기
[프로그래머스]네트워크 javascript
그림을 안보고 문제를 풀려고 했어서 이해하는데 괜한 시간을 허비했다. 사실 알고보면 정말 간단한 문제인데... 입출력 예 n computers return(answer) 3 [[1, 1, 0], [1, 1, 0], [0, 0, 1]] 1 3 [[1, 1, 0], [1, 1, 1], [0, 1, 1]] 2 왜 이게 1개야, 이건 왜 2개야 로 한참 헤맸다. 그림 보자마자 아... 1개 맞네, 2개 맞네가 되었다. 풀이 우선 한번 지나간 길은 또 지나가지 말자는 차원에서 ch 배열을 만들었고, 모두 0(false)로 정했다. 그리고 맨 아래 for문으로 해당 영역이 지나간적 없는지 확인하고, DFS를 실행시킨다. DFS가 실행되면 해당 영역은 check 하고(1로 변환), 연결된 경로가 있는지 확인한다. 만..
더보기