algo 4
Sparta coding
Innovation Camp
-
24 내림차순으로 배치하기
function solution(n) { // var answer = 0; let a = Array.from(`${n}`); a.sort(function (a, b) { return b - a; }); return 1 * a.join(""); } // 쪼갠다음에from? split? 내림차순정렬sort - 다시 join // 쪼갤때 toString / .from / `${}` templete literal쓰면 편함 // .sort(내림차순)으로 정리하고 // .join()으로 합 > 1을 곱해서 int (JS특징
-
25 정수 제곱근 판별 / 다시
function solution(n) { let answer = 0; let x = Math.sqrt(n); answer = n === x * x ? (x + 1) * (x + 1) : -1; return answer; } // n이 x의 3제곱인지 판단 // true = x+1 / false = -1 return // n === x*x*x ? true= x+1 : false= -1 // issue // 어? x는 주어지는 변수가 아님
-
26 제일 작은 수 제거하기
function solution(arr) { let answer = []; arr.sort(function (a, b) { a - b; }); // console.log(arr) arr.pop(); // console.log(arr) if (arr.length === 0) { answer[0] = -1; console.log(answer); } else { answer = arr; } return answer; } // arr=[] // element중 가장 작은 수 제거후 return // 빈배열 : -1 return // arr.sort(내림차순) 정렬 // 마지막 수 제거 후 return // or 오름차순 후 첫번째 제거 // 실패하는데 이유 모르겠음
-
27 콜라스 추측 / 시간초과 다시
function solution(num) { let answer = 0; // let count = 0 while (num !== 1) { num % 2 === 0 ? num / 2 : num * 3 + 1; // count++ answer++; } if (count > 500) { // if를 for문 안에 넣어 /indent error return -1; } if (num == 1) { // else if return 0; } else { return answer; } // console.log(num,count) // answer = count return answer; } // %2=0 : /2 // %2!=0 : *3+1 // n%2 == 0 ? n/2 : n*3+1 // 1이 될 때까지 반복 후 반복횟수 return // max 500 후 -1 return // num 1이면 0 return // let a = n%2 == 0 ? n/2 : n*3+1 // a반복횟수 count how? // while문? // while(a === 1) { // n%2==0 ? n/2 : n*3+1 // } // while 횟수를 모르지만 확실히 언제 끝나는지는 알 때
-
28 하샤드 수
function solution(x) { let answer = true; let a = ""; let b = 0; a = `${x}`; // console.log(a[0],a[1]) for (let i in a) { b += 1 * a[i]; // console.log(b) } // console.log(x/b) answer = x % b === 0 ? true : false; return answer; } // // x to String / 자리수별 분리 / to Int / += // // x % (x의 각 자릿수 합) = 0 ? true(하샤드 수) : false