알고리즘

입력 받은 정수형 배열이 오름차순인지 검사하는 알고리즘

개발 초보 2023. 4. 24. 12:45
import java.io.*;
import java.lang.*;
import java.util.*;


public class Main {
	public static final Scanner scanner = new Scanner(System.in);

	/**
     * 주어진 배열이 오름차순인지 검사하는 함수
     * @param data
     * @param n     데이터의 수
     * @return      data[0] ~ data[n-1]이 오름차순이라면 true, else false
     */
	public static boolean isOrdered(int[] data, int n){
		int count = 0; //data에서 인접한 두 원수가 오름차순인 쌍의 수
		
		for(int i = 0; i + 1 < n; i++){
			if(data[i] <= data[i+1]){
				count +=1;
			}
		}
		// 총 n-1개의 인접쌍이 오름차순이면 배열은 오름차순이다
		return count == n-1;
	}


	public static void main(String[] args) throws Exception {
		int n = scanner.nextInt();
		int[] data = new int[n];
		for(int i = 0 ; i < n ; i++){
			data[i] = scanner.nextInt();
		}

		boolean result = isOrdered(data, n);

		if(result){
			System.out.println("YES");
		} else{
			System.out.println("NO");
		}

	}

}

 

10주 완성 알고리즘 코딩테스트 - goorm edu에서 들으실 수 있는 내용입니다.