목록전체 글 (126)
차차로그
function solution(arr, divisor) { var answer = arr.filter(v => v % divisor == 0).sort((a,b)=>a-b); return answer.length > 0 ? answer : [-1]; } 나누어 떨어지는 수만 배열에 담아야하기 때문에 filter를 사용했다. 나누어떨어지는 수를 담은 배열은 오름차순을 해주고, 만약 배열이 비었다면 -1을 반환해준다.
function solution(s) { var answer = ""; s = s.toLowerCase(); var arr = s.split(" "); for(var i = 0 ; i < arr.length; i++){ for(var j = 0; j < arr[i].length; j++){ if(j % 2 == 0){ answer += arr[i][j].toUpperCase(); }else{ answer += arr[i][j] } } answer += " "; } answer = answer.substr(0,s.length); return answer; } 각 단어의 짝수자리(0,2,4,6..)는 대문자로, 홀수자리는 소문자로 처리를 해야해서 먼저 문자열 S을 모두 소문자로 변환한 후에 공백을 기준으로 ..
function solution(x) { var arr = (x+"").split("") var sum = arr.reduce((acc,v)=>Number(acc)+Number(v)); return x % sum == 0; } 숫자 X의 각 자릿수를 모두 더한 값으로 x를 나누었을 때 나머지가 0이 되면 true를 반환해야 한다. 각 자릿수를 모두 더해주기 위해 x를 문자열로 만든 후 split으로 배열에 담아줬다. 그 후에 reduce를 사용해서 인덱스 값마다 더해줬는데, 이때 Number로 형변환을 해주지 않으면 배열이 ['1','3]인 경우 문자열로 더해져 13을 리턴하게 된다. 마지막으로 x % sum(자릿수 모두 더한 값)을 나누었을 때 나머지가 0이면 true를 반환하도록 한다.
function solution(s) { return s.search(/\D/g) < 0 && (s.length == 4 || s.length == 6) ? true : false; } 문자열.search(정규식)으로 정규식과 일치하는 부분이 없다면 -1을 리턴한다는 것을 이용해 /\D/g 정규표현식의미가 모든 문자열이 숫자가 아니라는 뜻이므로 s에 숫자로만 이루어져 있다면 -1을 반환하게 된다. 그리고 길이가 4또는 6이여야하기 때문에 정규표현식과 길이 모두 true라면 true를 반환하고 하나라도 맞지 않다면 false를 반환한다. function solution(s) { return (/^\d{4}$|^\d{6}$/).test(s); } 다르게 표현도 가능하다. 문자열이 숫자로만 구성되어있고(^\d..
function solution(d, budget) { var sum = d.reduce((arr,v)=>arr+v); d.sort((a,b)=>a-b); if(budget == sum){ return d.length; }else{ var count = 0; for(var i = 0; i = 0){ count++; budget = budget - d[i]; console.log(budget) }else{ break; } } return count; } } 부서가 신청한 금액을 모두 더한 값이 예산과 동일하면 모든 부서에 지원을 해줄 수 있어서 IF문을 사용해 부서의 수만큼 리턴을 먼저 시켜줬다. (굳이 안 해도 풀이시간은 비슷하다..) 예산..
계속 풀어보려고 노력했던 문제였는데 드디어 풀었다 문제 이해하는 것부터 힘들었던 ..ㅠ report에서 "muzi frodo"일 때 무지가 프로도를 신고하고 "apeach frodo"일 때 어피치가 프로도를 신고한다는 뜻 k이상 신고당하면 정지가 된다. 정지가 됐을 때 신고한 회원에게 메일을 발송하는데, 이때 각 회원이 몇 번의 메일을 받는지를 리턴해야 한다.. function solution(id_list, report, k) { // 신고 내역 중복제거 report = [...new Set(report)].map(v => v.split(" ")); //신고한 사람 //var b = report.map((v,i)=>report[i][0]); //신고당한 사람 var a = report.map((v,i)..