프론트엔드 센트럴파크 (☞゚ヮ゚)☞

반복문(for)을 이용하여 배열 안의 숫자 비교 본문

Algorism

반복문(for)을 이용하여 배열 안의 숫자 비교

자라나라나무나무나 2022. 6. 12. 21:37
1. 반복문을 배열 길이만큼 돌린다.
2. 배열의 index값이 1부터 시작하게 한다.
3. 배열 안의 수들을 비교하여 제일 큰 값의 index를 출력


오답(답도 안맞음)

function answer(employee) {
    let employee_id;

    for(let i = 1; i < employee.length; i++) {

        if(employee[i] > employee[i+1]) {
            return employee[i];
        }else if(employee[i] < employee[i+1]){
            return employee[i+1];
        }
    }

    return employee_id;
};

let input = [[3,7,9,6,1], [2,7,1,4,3,0,5], [7,5,0,1,2,12,6]];

for(let i = 0; i < input.length; i++) {
    console.log(`#${ i + 1 } ${answer(input[i])}`);
}

생각은 얼추 비슷하게 했다. 

하지만 두 수를 비교해서 넣을 큰 값의 변수를 생각하지 못했기 때문에 오답이 나왔나 싶다.


정답

function answer(employee) {
    let employee_id;
    let max = 0;

    for(let i = 0; i < employee.length; i++) {

        if(employee[i] > max) {
            max = employee[i];
            employee_id = i + 1;
        }
    }

    return employee_id;
};

let input = [[3,7,9,6,1], [2,7,1,4,3,0,5], [7,5,0,1,2,12,6]];

for(let i = 0; i < input.length; i++) {
    console.log(`#${ i + 1 } ${answer(input[i])}`);
}

핵심은 let max로 두 수를 비교하여 큰 수를 담아놓을 변수를 만드는 것이다.

 

employee_id = i + 1; 는 배열이 1부터 시작하길 원하기 때문이다.

 

Comments