본문 바로가기

알고리즘구현능력/문제해결능력

(78)
[javascript] 프로그래머스 - 다리를 지나는 트럭 123456789101112131415161718192021222324252627282930function solution(bridge_length, weight, truck_weights) { let answer = 1; let delay_truck = truck_weights.slice(0,truck_weights.length); //대기트럭 let briFinTrk = []; //다리를 지난 트럭. let briTrk = []; //다리를 건너는 트럭, let truck_weight = 0; //대기트럭이 없을떄까지와 트럭이 다 지났을떄... while(delay_truck.length!==0||briFinTrk.length!==truck_weights.length){ answer++; let tr..
[javascript] 프로그래머스 - 탑 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //발사한 신호는 보낸 타보다 높은 탑에서만 수신이 가능하다. //한번 수신된 신호는 다른 탑으로 송신되지 않습니다. // function solution(heights) { var answer = []; let length = heights.length; for(let i=length-1;i>=0;i--){ let result = 0; for(let j=i-1;j>=0;j--){ if(heights[j]>heights[i]){ result = j+1; break; } } answer.push(result); } return answer.reverse(); } Colored by Color Scripter cs 인덱스값이 아..
[javascript] 쇠막대기 | 프로그래머스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 function solution(arrangement) { var answer = 0; let length = arrangement.length; let stick = 0; for(let i=0;i
[javascript] 프로그래머스/1차 다트게임 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 //점수 계산 // 1. 다트게임은 총 세번의 기회로 구성되어 있음. // 2, 각 기회마다 얻을 수 있는 점수는 0점에서 1점까지이다. // Single(s) Double(D) Triple(T) 1제곱, 2제곱, 3제곱 점수^1 점수^2 점수^3 // 옵션으로 스타상(*) 아차상(#) 스타상 당첨시 점수 바로전에 얻을 점수를 2배로 ..
[javascript] 프로그래머스/실패율 12345678910111213141516171819202122232425262728293031323334function solution(N, stages) { //N은 STAGES의 개수 //stages.length는 도전한 사용자의수 //stage의 각 배열의 값은 사용자가 도달한 스테이지 값. //제외시켜야할 플레이어수 = 성공한 플레이어.. let resultArray = []; let stageSize =stages.length; for(let i=1;ielement.stage)); }Colored by Color Scriptercs
[javascript] 1차 비밀지도 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 //비밀지도 //지도는 한 변의 길이가 n이다. //각 칸은 공백(" ")이나 "#"으로 이루어져 있다. //전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. //둘 개의 지도중에 하나의 지도만 벽이라도 벽으로 된다. 둘다 공백인 부분은 공백이다. //지도 1과 지도 2는 정수 배열로 암호화 되어 있다. 0과1로 되어있다. //암호화된 배열은 짇의 각 가로줄에서 벽부분을 1, 공백 부분을 0 으로 부호화했을 때 얻어지는 이진수에 해당하는 값의 배열이다. functi..
[javascript] 프로그래머스/예산 12345678910111213141516171819202122232425//최대한 많은 부서의 물품을 구매하는 것이 목적..function solution(d, budget) { var answer = 0; let arrSort = d.sort(function(a,b){ return a - b; }) ; let sum = 0; let i; for( i=0;ibudget){ //커지면 리턴.. answer = i; break; } else if(sum===budget){ //예산의 금액과 살려는 구매 물품의 합이 같을 경우. answer = i+1; break; } } if(i===arrSort.length){ //for문을 다 통과했을경우.. 예산이 높아서 그냥 다살수 있는경우 answer = arrS..
[javascript] 프로그래머스/직사각형 별찍기 1 2 3 4 5 6 process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); console.log(Array(b).fill((Array(a).fill("*").join(''))).join("\n")) }); Colored by Color Scripter cs Array(n) n개의길이를 가진 배열을 만드는 메소드 Array(n).fill(x) n개의 길이를 가진 배열을 x의 값으로 채워진 배열을 만드는 메소드 Array(n).join(x) 하나의 문자열로 만든다 배열사이의 간격을 x라는 문자로 채운다.