문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
학교는 매년 모든 학생의 사진을 촬영하려고 한다. 학생들은 키가 오름차순으로 졍렬되어 한 줄로 서도록 요청받는다. 이 정렬 순서는 정수 배열 expected로 표현되며, expected[i]는 줄에서 i번째 학생의 예상 키이다.
학생들의 현재 순서를 나타내는 정수 배열 heights가 주어진다. heights[i]는 줄에서 i번째 학생의 키이다.
heights[i]가 expected[i]와 같지 않은 인덱스의 개수를 반환해라.
#1
Input: heights = [1, 1, 4, 2, 1, 3]
Output: 3
Explanation:
heights: [1, 1, 4, 2, 1, 3]
expected: [1, 1, 1, 2, 3, 4]
인덱스 2, 4, 5는 같지 않다.
#2
Input: heights = [5, 1, 2, 3, 4]
Output: 5
Explanation:
heights: [5, 1, 2, 3, 4]
expected: [1, 2, 3, 4, 5]
모든 인덱스가 같지 않다.
#3
Input: height = [1, 2, 3, 4, 5]
Output: 0
Explanation:
heights: [1, 2, 3, 4, 5]
expected: [1, 2, 3, 4, 5]
모든 인덱스가 같다.
class Solution {
public int heightChecker(int[] heights) {
int result = 0;
int[] expected = Arrays.copyOf(heights, heights.length);
Arrays.sort(expected);
for(int i = 0; i < heights.length; i++){
if(heights[i] != expected[i]){
result++;
}
}
return result;
}
}