프로그래머스 썸네일형 리스트형 자연수가 하샤드 수인지 판별하는 알고리즘 문제는 역시 제목 그대로이다. 자세한 문제는 아래와 같다. https://school.programmers.co.kr/learn/courses/30/lessons/12947 나의 답안은 아래와 같다. function solution(x) { a = x.toString().split('').map(Number).reduce((acc, cur)=>acc+cur) return x % a===0 ? true : false; } x = 18 console.log(solution(x)) 이번 문제는 주차하고 집에 돌아오면서 생각해 보았는데 잘 떠올라 줘서 감사하다. 여러 메서드를 섞어 쓰게 되었는데 느낀 점은, 메서드를 잘 알면 정말 편하리라는 점이다. 복잡한 코드를 4분의1도 안되게 줄여 주고, 메서드 이름 덕분.. 더보기 자연수가 몇 번째 콜라프 작업에서 1이 되는지 파악하는 알고리즘 문제는 제목 그대로다. 만약 그 자연수가 500번째 콜라프 작업으로도 1이 되지 않는다면 함수는 -1을 반환해야 한다. 자세한 문제는 아래와 같다. https://school.programmers.co.kr/learn/courses/30/lessons/12943 재귀함수를 써야 할 거 같아서 1.5시간 이상 고생했으나 실패했다. 여기 while문으로 해결한 사례가 있어서 주석으로 파보았다. 코드는 거의 외운거 같다. function collatz(num) { var answer = 0 ; while(num !== 1 && answer < 500) { // answer 더보기 나누어 떨어지는 숫자들로만 배열을 만드는 알고리즘 문제는 제목 그대로다. 자세한 문제 출처는 아래와 같다. https://school.programmers.co.kr/learn/courses/30/lessons/12910 일단 나의 코드는 아래와 같았다. function solution(arr, divisor) { var answer = []; arr.map((element) => { if(element % divisor === 0) { answer.push(element) } }) if(answer.length===0) { answer.push(-1) } answer.sort((a,b) => a-b) return answer; } 복잡하다. 그리고 모범답안? 을 보고 내가 쳐본 코드는 아래와 같다. filter () 메서드를 사용했다는 점이 포인트다... 더보기 이전 1 다음