728x90
반응형

문제

지훈이는 Sort 마스터다. 그래서 어떠한 N개의 원소를 가진 배열이 들어오더라도 암산으로 오름차순 정렬을 할 수 있다고 한다. 의심 많은 보성이는 지훈이를 테스트해 보기로 마음먹었다. 하지만 모든 원소를 일일이 다 확인하는 것은 너무 귀찮은 일이라 생각한 보성이는 정렬된 배열의 마지막 원소만 맞는지 확인해 보기로 했다.

보성이를 위하여 마지막 원소를 알려주는 프로그램을 만들어주자.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 500,000)

다음 줄에는 N개의 정수 A[1], A[2], ... , A[N]이 주어진다. (0 ≤ A[i] ≤ 109)

출력

첫째 줄에 정렬된 배열 A의 마지막 원소를 출력한다.

예제 입력 1

3 3 2 1

예제 출력 1

3

 

내가 작성한 코드 (JAVA 성공)

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		int[] a = new int[n+1];
		int max = 0;
		
		for(int i=0; i<n; i++) {
			a[i] = sc.nextInt();
		}
		
		for(int j=0; j<n; j++) {
			if(max < a[j]) {
				max = a[j];
			}
		}
		
		System.out.println(max);	
	}
}

 

정리

이 문제는 University > 인하대학교 > 2019 인하대학교 프로그래밍 경진대회(IUPC) A번 문제였다.
길게 쓰여있는 문제를 간단하게 정리해보면
입력한 숫자들(배열의 값)을 오름차순으로  정렬하고 마지막 값을 알아내는 문제였다.
오름차순으로 정렬하고 정렬된 마지막 값이라고하면 결국 최댓값을 말한다.
따라서, 이 문제의 핵심은 오름차순한 값들의 마지막 값(최댓값)을 알아내는 것이라고 생각했다.
그래서 따로 sort를 하지 않고 오름차순으로 정렬했다고 가정하고
배열의 값을 중 최댓값을 구해서 그 값만 출력해주었더니 정답이었다.

728x90
반응형
복사했습니다!