목록분류 전체보기 (114)
DEVLOG
function solution(array, commands) { var answer = []; for(var i in commands){ var start = commands[i][0]-1; var end = commands[i][1]; var k = commands[i][2]-1; console.log("시작"+start); console.log("끝"+end); console.log("자른배열"+array.slice(start,end)); console.log("몇번째"+k); console.log("결과"+array.slice(start,end).sort()[k]); answer.push(array.slice(start,end).sort()[k]); } return answer; } 배열의 ind..
이중반복문을 통해서 모든 항을 더해주는데 이때 더한 값이 이미 나온값이 아닌 경우에만 배열에 push해서 새 배열을 만들어준다. 그리고 오름차순으로 정렬한 배열을 return해준다. 또한 이미 더한값은 다시 계산할 필요가 없기때문에 더해주는값 j는 i+1번째부터 더해주면 더 빠르고 쓸데없이 낭비하지 않는 코드가 될 것 같았다. function solution(numbers) { var answer = []; for(var i=0; i
먼저 10진법의 n을 앞뒤반전된 3진법으로 바로 바꾸고 그 3진법을 뒤에서부터 3의 거듭제곱을 곱한값을 모두 더해 10진법으로 나타낸다. function solution(n) { var answer = 0; var temp=''; while(n>0){ temp += n%3; n = Math.floor(n/3); } for(var i=temp.length-1; i>=0; i--){ answer += temp[i]*(Math.pow(3,temp.length-(i+1))); } return answer; } 그런데 여기서 나는 처음에 제곱이라는 것을 3^x라고 표현했는데 아무리해도 제곱이 표현이 안됐다...... 이 ^라는 기호가 어디서 기억이 났는지는 몰라도 자바스크립트에서 제곱값을 구하려면 Math.pow..
function solution(arr) { var answer = []; arr.forEach((item)=>{ if(answer.includes(item)) return; answer.push(item); }) return answer; } 처음엔 이렇게 생각을 했었다. 새로만드는 배열안에 이미 넣은 수가 있다면? 건너뛰고 다음 수를 push! 하지만 문제는 안에 있는 수를 다 건너뛰는게 아니라 연속되는 수만 건너뛰어야하기때문에 문제에 맞지 않는다. function solution(arr) { var answer = []; var c=0; arr.forEach((item,i)=>{ if(answer[c-1]==item) return; answer.push(item); c++; }) return ans..