목록전체 글 (86)
undefined

문제 설명 문제 풀이 function solution(num) { let attempt = 0 while (num !== 1) { if(attempt === 500) { return -1 } num = num % 2 ? num*3+1 : num/2 attempt++ } return attempt } 1. while loop 이용하여 num이 1이 될때 까지 반복 2. attempt 500번 넘어가는 수는 -1 리턴 3. 콜라츠 추측을 한번 거친 수를 다시 num에 배당 4. 시도 1+ 개선 사항
1. for..of의 기본형식 for (변수지정 of iterable*) { } *iterable : 한 개의 데이터가 여러가지의 구성요소를 가지는 경우 참고) for loop의 기본 형식 for (let i = 0; i

문제 설명 문제 풀이 function solution(n){ arrayN = Array.from(`${n}`).map(Number) return arrayN.reduce((prev,curr) => prev+curr) } 1. from()으로 배열화 2. map(Number)로 숫자화 3. reduce()로 전체의 합 계산 개선 사항

문제 설명 문제 풀이 function solution(n) { return (Array.from(`${n}`).reverse().map(Number)) } 1. from()으로 배열화 2. reverse()로 역순 3. map(Number)로 문자화 되었던 숫자를 다시 일괄적으로 숫자로 변환 개선 사항

문제 설명 문제 풀이 function solution(n) { let sortedNum = Array.from(`${n}`).sort().reverse().join("") return parseInt(sortedNum) } 1. Array.from()으로 숫자의 배열화 // 그냥 n인자를 사용하면 ["n"]출력 되므로 주의! 2. sort()로 작은 수 부터 정리 3. 문제는 내림차순 reverse() 4. join("")으로 배열의 문자열화 그리고 ' , ' 제거// join() 이용시 단지 문자열화에 그침 (' , '가 제거되지 않음) 5. parseInt()로 정수화 개선 사항 function solution(n) { let strNum = n + "" let sortedNum = strNum.sp..

문제 설명 문제 풀이 function solution(n) { let testNum = Math.pow(n,0.5) return Number.isInteger(testNum) ? Math.pow(testNum+1,2) : -1 } 1. Math.pow(n,0.5) = n의 0.5 제곱를 하여 n의 제곱근 추출 2. Number.isInteger(testNum)으로 testNum이 정수인지 판별 3. 정수 라면 testNum + 1의 제곱 리턴 / 소수 라면 -1 리턴 개선 사항 Math.pow(n,0.5) = Math.sqrt(n) // Math.sqrt(num) => num의 제곱근을 구함