시작하기무료로 시작하기

정렬 검사 애플리케이션 구현하기

정수형 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 ____;
    }
}
코드 편집 및 실행