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 을 해보니
정답이었다! 쉬운 문제였다!