728x90
반응형

 

처음에 문제를 봤을땐 막막했다.

흠....어떻게 문제대로 답을 뽑아올 수 있지?

일단 원하는 순서대로 나열하는거니 for문 돌리면 될까?

 

for(i=0; i<numbers.length ...) 쓰다가 아?

시작점이 num1이고 num2까지 출력하면 되니까 바꿔야겠다!

 

시행착오

function solution(numbers, num1, num2) {
    var answer = [];
    for(i=num1;i<=num2; i++){
        answer = numbers[i]
    }
    return answer;
}

푸쉬를 생각못하고, 해당 값을 바로 정답에 넣으면 되겠지? 했지만 틀림

push를 써야겠구나?! 해서 push로 작성

 

function solution(numbers, num1, num2) {
    var answer = [];
    for(i=num1;i<=num2; i++){
        answer=numbers[i].push;
    }
    return answer;
}

이렇게 하는건가? = 틀림

push 사용법을 몰라서 검색했지만 잘 이해가 안되서 A.I 친구에게 물어봄

정확한 답변 고맙다! 푸쉬는 이렇게 사용하는거구나.

 

정답

function solution(numbers, num1, num2) {
    var answer = [];
    for(i=num1;i<=num2; i++){
        answer.push(numbers[i]);
    }
    return answer;
}
728x90
반응형
728x90
반응형

function solution(n) {
    return n%7 ===0? Math.floor(n / 7) : Math.floor(n / 7) +1;
}

 

728x90
반응형
728x90
반응형

function solution(my_string) {
    var answer = [];
    for (i=0; i<my_string.length; i++){
        answer[i] = my_string[my_string.length-1-i]
    }
    answer = answer.join("");
    return answer;
}

toString()을 사용하면 쉼표(,)와 같이 나온다.

이를 해결하려면 join() 사용하자

728x90
반응형
728x90
반응형

function solution(numbers) {
    numbers.sort((a,b)=>b-a);
    return numbers[0]*numbers[1];
}

 

위를 이해하기 위해선 다음 예시 확인

var myArray = [5,3,4,1,2];
myArray.sort(function (a, b) { return a - b });
console.log(myArray);
// 결과: [1, 2, 3, 4, 5]
myArray.sort(function (a, b) { return b - a });
console.log(myArray);
// 결과: [5, 4, 3, 2, 1]

return 값 a-b는 배열을 오름차순, b-a는 내림차순으로 정렬한다.

그냥 .sort()만으로는 정렬이 안 되는 걸까? 안된다. 그 이유는 자바스크립트의 sort 함수는 기본적으로 배열을 문자열(String) 타입으로 간주하고 비교하기 때문이다. 문자는 잘 작동하나 숫자는 스트링으로 변경되면서 문제를 야기한다.

728x90
반응형
728x90
반응형

function solution(numbers) {
    var answer = [];
    for(i=0; i<numbers.length; i++){
        answer[i] = numbers[i]*2
    }
    return answer;
}
728x90
반응형
728x90
반응형

function solution(num_list) {
    var answer = [];
    for(i=0; i<num_list.length; i++){
        answer[i] = num_list[num_list.length-1-i]
    }
    return answer;
}
728x90
반응형
728x90
반응형

 

function solution(numbers) {
    const num = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
    
    for(let i = 0; i < num.length; i++){
        numbers = numbers.split(num[i]).join(i)
    }
    
    return Number(numbers)
}
728x90
반응형
728x90
반응형

function solution(keyinput, board) {
    let result = [0,0]
    for(let i = 0 ; i<keyinput.length; i++){
        switch (keyinput[i]){
            case "left": result[0] -= 1
                break
            case "right" : result[0] += 1
                break
            case "up" : result[1] += 1
                break
            case "down" : result[1] -= 1
        }
        if(result[0] < -(board[0]-1)/2) result[0] = -(board[0]-1)/2
        if(result[0] > (board[0]-1)/2) result[0] = (board[0]-1)/2
        if(result[1] < -(board[1]-1)/2) result[1] = -(board[1]-1)/2
        if(result[1] > (board[1]-1)/2) result[1] = (board[1]-1)/2
    }


    return result
}
728x90
반응형

+ Recent posts