정리하고기록하자

백준 (JAVA) - 최댓값 (2562) 본문

백준 - 알고리즘

백준 (JAVA) - 최댓값 (2562)

정리하고기록하자 2021. 11. 16. 21:27
반응형

백준 - 알고리즘 1차원배열 최댓값 (2562) 문제

 

문제 : 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.

예를 들어, 서로 다른 9개의 자연수

3, 29, 38, 12, 57, 74, 40, 85, 61

이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

 

입력 : 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.

 

문제에서 입력에 보면 9번째 까지의 자연수가 주어진다고 했으니까

배열의 크기를 9로 선언했다.

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[9];
	}
}

배열의 크기 만큼 반복문을 돌리고

반복문 안에서 정수들의 입력할 값을 선언했다.

for(int i = 0; i < arr.length; i ++) {
	int b = sc.nextInt();
}

 

입력한 값이 max 값보다 크다면 max = b 라는 조건을 추가했다.

int max = 0;
for(int i = 0; i < arr.length; i ++) {
	int b = sc.nextInt();
	if(max < b) {
		max = b;
	}
}

마지막 출력에 최댓값을 출력 하고, 최댓값이 몇 번째 수인지를 출력 하기 위해 

count 변수를 추가했다.

int count = 0;
for(int i = 0; i < arr.length; i ++) {
	int b = sc.nextInt();
	if(max < b) {
		max = b;
		count = i;
	}
}

마지막으로 정렬 후 출력!

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[9];
		int max = 0;
		int count = 0;
		for(int i = 0; i < arr.length; i ++) {
			int b = sc.nextInt();
			if(max < b) {
				max = b;
				count = i;
			}
		}
		Arrays.sort(arr);
		System.out.println(max);
		System.out.println(count+1);
	}
}

 

반응형