본문 바로가기

전체 글

5/27[문제풀이] 프로그래머스 Lv2 가장 큰 수 문제풀이 1 2 3 4 5 6 7 8 9 10 11 12 function solution(numbers) { var answer = ''; numbers = numbers.map(e => e + "") numbers.sort((a,b) => (b+a) - (a+b)) answer = numbers.join('') return answer[0] === "0" ? "0" : answer; } Colored by Color Scripter cs 문제에서 원하는 것은 변수로 들어오는 배열에 있는 값들로 만들 수 있는 가장 큰 수를 구하는 것이기에 단순히 sort를 사용하여야 겠다고 생각했다. 그런데 그렇게만 생각하니 코드가 너무나 길어지고 효율성 테스트도 통과를 하지 못해서 다시 생각을 바꾸었다. sort를 쓰.. 더보기
5/26[문제풀이] 프로그래머스 Lv2 최솟값 만들기 문제풀이 1 2 3 4 5 6 7 8 9 10 11 12 function solution(A,B){ var result = 0; A.sort((a,b) => a-b) // console.log(A) B.sort((a,b) => b-a) // console.log(B) for(let x=0; x{ return acc += cur*B[idx] },0) cs 더보기
5/25[문제풀이] 프로그래머스 Lv2 피보나치 수 문제풀이 1 2 3 4 5 6 7 8 9 10 function solution(n) { var answer = 0; let setNumber = [0,1]; for(let x=2; x 더보기
5/24[문제풀이] 프로그래머스 Lv2 2개 이하로 다른 비트 문제 풀이 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 function solution(numbers) { const answer = []; for (let number of numbers) { if (number % 2 === 0) answer.push(number + 1); else { const etc = [...number.toString(2)]; if (etc.every((e) => e === "1")) { etc[0] = "10"; } else { for (let x = etc.length - 1; x >= 0; x--) { if (etc[x] === "0") { etc[x] = "1"; etc[x + 1] = "0"; .. 더보기
5/20[문제풀이] 프로그래머스 Lv2 수식 최대화 이게 Lv2 라는 것이 믿기지 않았다. 푸는데 생각보다 오래 걸렸고 구글링을 통해 도움을 받았다. 문제풀이 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 function solution(expression) { let answer = 0; let operator = expression.replace(/[0-9]/g,""); // 연산자 추출 let uniqueOperator = Array.from(new Set(operator)); // 연산자 중복 제거 및 배열에 담기 let checkLi.. 더보기
5/19[문제풀이] 프로그래머스 Lv2 다음 큰 숫자 문제 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 function solution(n) { var answer = 0; const result = n.toString(2).match(/1/g).length; // console.log(result) while(n++){ if(n.toString(2).match(/1/g).length === result) { return n } } } Colored by Color Scripter cs 그 동안 문제를 풀고, 다른 사람들의 문제 풀이를 보면서 정규표현식을 공부해서 잘 적용하고 싶다고 생각해서 조금씩 공부했었는데 처음으로 사용 할 수 있었던 문제였던 것 같다. n이 이진수로 변화 된 값에 1이 몇 개인지 확인 후 while 문으로 계속 n을 기.. 더보기
5/18[문제풀이] 프로그래머스 Lv2 괄호 회전하기 문제풀이 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 function solution(s) { s = s.split(""); let Len = s.length - 1; let answer = 0; for(let x=0; x 더보기
5/17[문제풀이] 프로그래머스 Lv2 영어 끝말잇기 해당 문제의 풀이 코드이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 function solution(n, words) { var answer = [0,0]; // ? 번째 사람이 ? 번째 차례에 let talkWord = []; talkWord.push(words[0]) for(let x = 1; x 더보기