본문 바로가기

알고리즘

(5)
멘토링(블루투포스) function solution(arr){ let testCnt = arr.length; let students = arr[0].length let answer = 0; for(let i=0; i< testCnt; i++){ for(let j=0; j
뒤집은 소수 function solution(arr){ //소수 판별 코드 function primeNum(num){ if(num === 1) return false; for(let i =2; i { return Number(String(item).split("").reduce((a,b)=>b+a)); }).filter((item) => primeNum(item)); return answer; } 하하... 개판이구만ㅋㅋㅋㅋㅋ 예 제가봐도 어거지로 풀었습니다...소수 판별 코드까지 만든건 좋았는데 뒤집는 부분에서 어떻게 할까 하다가 아주 그냥 죽을 쒔습니다..
자릿수의 합 function solution(arr){ let answer = 0; let sum = 0; let sum2 = 0; arr = arr.sort((a,b) => b-a); for(const item of arr){ sum2 = 0; for(let i=0; i sum) { sum = sum2; answer = item; } } return answer; } 풀이 과정은 그냥 간단하다, 초반에 큰수대로 숫자를 나열한 후에 각 자릿수의 합을 구하고 해당 자릿수의 합이 기존 자릿수보다 크면 해당 숫자가 정답 function solution(n, arr){ let answer, ma..
문자열 압축 어디서 많이 본 듯한 문제였다, 예전에 프로그래머스에서 문자열 압축 문제와 비슷한 문제같은 느낌이... 근데 그때는 손도 못대고 풀이를 봐도 이해도 안됐었는데 그나마 문제가 조금 더 쉬워서인지 그래도 해결은 했다. function solution(str) { let char = str[0]; let answer = str[0]; let idx = 1; for (let i = 1; i < str.length; i++) { if (char === str[i]) { idx++; } else { if (idx !== 1) { answer += String(idx); } idx = 1; char = str[i]; answer += char; } } console.log(answer); } 일단 코드 풀이부터 해보..
문자거리 //나의 풀이 function solution(str, alpa) { let arr = []; let arr2 = []; let answer = []; for (let i = 0; i < str.length; i++) { if (str[i] === alpa) { arr.push(i); } } for (let i = 0; i < str.length; i++) { arr2 = []; for (const item of arr) { arr2.push(Math.abs(item - i)); } answer.push(Math.min(...arr2)); } } let str="teachermode"; console.log(solution(str, 'e')); 나의 풀이 과정은 최초 alpa의 값을 모두 찾아서 배열에 ..