정렬 검사 애플리케이션 구현하기
정수형 ArrayList가 오름차순으로 정렬되어 있는지 확인하는 메서드를 구현하려고 합니다. 현재 구현은 리스트의 모든 가능한 원소 쌍을 비교해 올바른 순서인지 확인합니다.
이 연습은 강의의 일부입니다
Java 코드 최적화
연습 안내
i를 반복 변수로 사용해0부터 시작하여numbers의 모든 숫자를 순회하세요.- 다시 한 번
numbers를 순회하되,j = i + 1로 시작해numbers를 끝까지 반복하고,i를 증가시키세요. - 잘못된 순서의 쌍을 찾지 못했을 때
true를 반환하도록 return 문을 완성하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
public class Main {
public static void main(String[] args) {
int arraySize = 1000;
ArrayList unsortedNumbers = new ArrayList<>();
for (int i = 0; i < arraySize; i++) {
unsortedNumbers.add(i);
}
int temp = unsortedNumbers.get(arraySize - 1);
unsortedNumbers.set(arraySize - 1, unsortedNumbers.get(arraySize - 2));
unsortedNumbers.set(arraySize - 2, temp);
SortChecker checker = new SortChecker();
boolean result = checker.isSorted(unsortedNumbers);
System.out.println("Unsorted array result: " + result);
}
}
class SortChecker {
public boolean isSorted(ArrayList numbers) {
// Iterate through all the numbers
for (int i = ____; i < numbers.size(); ____) {
// Iterate through all the numbers again
for (int j = ____; j < numbers.size(); ____) {
if (numbers.get(i) > numbers.get(j)) {
return false;
}
}
}
// Return if we have not returned false so far
return ____;
}
}