[LeetCode] Height Checker

준규·2022년 8월 11일
0

heights 라는 학생의 키(신장) 값이 들어있는 배열이 주어진다고 할 때 (이 때 heights는 무작위 순서)

학생들한테 오름차순으로 줄을 설 것을 바란다고 하고 오름차순으로 선 배열을 예상을 할 수가 있다고 한다

이때 현재 서있는 순서와 예상된 순서를 비교하여 순서가 다른 학생 수를 구하는 문제이다

Example을 보면

실제 서있는 학생들과 예상된 순서로 서있는 학생들 중 다르게 서있는 학생들을 찾으면 된다!

const heightChecker = function(heights) {
    const origin = [...heights];
    
    const expected = heights.sort((a,b) => a-b);
    let count = 0;
   
    for(let i = 0; i < origin.length; i++) {
        if(expected[i] !== origin[i]) {
            count++;
        } 
    }
    return count;
};

heights 를 오름차순으로 정렬해 expected 배열을 얻었는데 이때 heights를 다른 배열에 깊은 복사를 해주었다 sort 메소드를 사용하면 원본 배열이 바뀌기 때문엥...

그 후엔 배열요소를 탐색하면서 값이 다르면 count 값을 증가시켜주고 리턴하였다

submit 을 해보니

정답이었다! 쉬운 문제였다!

profile
안녕하세요 :)

0개의 댓글