1-1. 입력된 수가 짝수라면 2로 나눕니다.
1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.
function solution(num) {
if (num === 1) { return 0 };
let repeat = num;
let result = 0;
for (let i = 0; i < 500; i++) {
if (repeat % 2 === 0) {
repeat = repeat / 2;
} else {
repeat = repeat * 3 + 1;
}
result++;
if (repeat === 1) {
return result;
}
}
return -1;
}
이제 슬슬 뭘 써야될 지 감이 오기 시작함.function findKim(seoul){
var idx = 0;
//함수를 완성하세요
for (var i = 0; i < seoul.length; ++i)
{
if (seoul[i] == "Kim")
{
idx = i;
break;
}
}
return "김서방은 " + idx + "에 있다";
}
// 실행을 위한 테스트코드입니다.
console.log( findKim(["Queen", "Tod", "Kim"]));
내 답변은 참고를 위해 붙임:function solution(seoul) {
let index = seoul.indexOf("Kim");
return `김서방은 ${index}에 있다`;
}
function solution(arr, divisor) {
let newArr = [];
for (i = 0; i < arr.length; i++) {
if (arr[i] % divisor === 0) {
newArr.push(arr[i]);
}
}
return newArr.length === 0 ? [-1] : newArr.sort((a, b) => a - b);
}
filter() 메소드를 사용하여 배열의 각 요소에 대해 콜백 함수를 실행해 그 결과가 true인 요소로 새로운 배열은 반환하도록 한 모범답안임 // filter는 결국 조건에 맞는 새로운 배열을 반환할 때 쓰임:function solution(arr, divisor) {
var answer = arr.filter(v => v%divisor == 0);
return answer.length == 0 ? [-1] : answer.sort((a,b) => a-b);
}
[CodeKata.js] repeat() / includes() / splice(indexOf활용) / join("") (1) | 2024.02.12 |
---|---|
[CodeKata.js] reduce 배열 합 / 숫자 분리시 문자열로 우선 변환 / 전개연산자(...) / 배열 거꾸로 / Math.pow & sqrt / sort 오름차순 (1) | 2024.02.11 |