Loading...

[프로그래머스] 구명보트 (javascript)

최대 2명의 조건이 있다. 몸무게가 많이 나가는 사람을 기준으로 해야된다. 만약 여러명을 태울 수 있다면 while문안의 if문을 while로 수정하면 된다. function solution(people, limit) { var answer = 0; people.sort((a,b)=>a-b); let left=0,right=people.length-1; let sum=0; while(left

[프로그래머스] 괄호 변환 (javascript, 재귀)

괄호 방향을 "뒤집어라"를 reverse()로 오해했는데 ( 을 )로 (를 ) 로 바꾸라는 얘기였다. function solution(p) { if(p==='')return p; let sum=0; // 2단계 let u=""; let v=""; let right=true; for(let i=0;i

[프로그래머스] 메뉴 리뉴얼 (javascript)

하루종일 풀었다 휴 원래는 course 배열의 for문을 가장 바깥으로 하여 중첩 포문을 돌렸는데 시간 초과가 나서 조합을 따로 구해주고 모든 조합이 구해진 후 최대값을 갱신해주는 방식으로 중첩 for문을 분리시켰다. function solution(orders, course) { var answer = []; orders.sort((a,b)=>a.length-b.length); //크기 별로 정렬해놓는다. let dict={}; //조합의 결과가 들어갈 것이다. (문자열, 등장횟수)쌍 function comb(idx, s,len, str, visited,start){ //조합을 돌린다. if(idx===len){ //기준 길이(course[i]) str=str.split("").sort().join("..

[프로그래머스] 큰 수 만들기 (javascript, greedy)

배열에 넣으면서 새로운 수를 만나면 앞의 수와 비교해서 더 크면 이전 수를 삭제하고 현재 수를 넣어준다. function solution(number, k) { const arr=[]; for(let i=0;i0 && arr[arr.length-1]0){ k-=1; arr.pop(); } arr.push(number[i]); } arr.splice(number.length-k,k); return arr.join(''); }

[프로그래머스] 다트 게임 (javascript)

숫자 10만 예외 처리를 해주고 현재가 1이고 다음 수가 0일때는 10 (유일하게 두 글자인 숫자라 예외처리) 나머지는 주어진 조건대로 차근차근 수행한다. function solution(dart) { var answer = []; for(let i=0;i='0' && dart[i]acc+cur,0); }

[프로그래머스] 비밀지도 (javascript)

* 2021 - 03- 31 코드 function solution(n, arr1, arr2) { return arr1.map((row,i)=>{ let x=arr1[i].toString(2); let y=arr2[i].toString(2); if(x.length

[프로그래머스] 실패율 (javascript)

stage에 도달한 사람 수는 현재 스테이지보다 숫자가 큰 스테이지의 개수를 세준다. 현재 스테이지를 못깨는 사람은 현재 스테이지와 숫자가 같은 사람의 수를 세준다. 마지막에 배열에 stage번호와 비율을 넣어준다. 정렬한다. function solution(N, stages) { var answer = []; const total=[]; for(let i=1;i{ if(a.percent===b.percent){ return a.stage-b.stage; }else{ return b.percent-a.percent; } }) // console.log(answer) return answer.map(item=>item.stage) }

[프로그래머스] 신규 아이디 추천 ( javascript)

1. 내 풀이 function solution(new_id) { // 1단계 new_id=new_id.toLowerCase(); // 2단계 for(let i=0;i='a' && new_id[i]='1' && new_id[i]