본문 바로가기

백준

[JAVA] 백준 2562.

728x90
반응형
SMALL

 


제목 : 최댓값 (no.2562)


 



문제 출처

2562번: 최댓값 (acmicpc.net)

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어

www.acmicpc.net


문제

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

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

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

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


Input

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

 

Output

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.



Ex.Input 1

3
29
38
12
57
74
40
85
61

Ex.Output 1

85
8


Code

import java.util.Scanner;

public class Main{
	public static void main(String[] args){
		Scanner xx = new Scanner(System.in);
		int deep = 9;
		int[] score = new int[deep];
		int max = 0;
		int place = 0;
		
		// 깊이만큼 테스트케이스를 입력받을 수 있음
		for (int i = 0; i < deep; i++) {	// 배열 입력받는 포문
			score[i] = xx.nextInt();
			if (max < score[i]) {
				max = score[i];
				place = i+1;
			}
		}
		System.out.println(max);
		System.out.println(place);
    }
}

 

 

배열의 기초라 할 수 있는 부분이다.

 

이 문제에서 배울점은 어떻게 배열을 선언하는가?

 

어떻게 배열을 입력받을 것인가?

 

 

어떻게 위치와 최댓값을 정할 것인가? 에 대해 습득 및 배우는 점이 있다.

 

for문으로 입력받은 배열마다 if문을 돌려 최대가 되는 것들을 max에 저장하고

 

그 숫자의 인덱스 값을 place에 저장하는 방식으로 한다.

 

 

그리고 if문 안에 place에서 왜 i+1을 썻는지 궁금해 하실수도 있는데

 

참고로 인덱스는 0번 부터 시작하고, 우리가 첫번째를 0번째라고 부르지 않고 1번째 라고 부르기에

 

+1 을 하게 되었다.

 

 

 

 

 

 

오류나 궁금하신점은
아래 댓글로 알려주시면 감사하겠습니다.

 

728x90
반응형
LIST

'백준' 카테고리의 다른 글

[JAVA] 백준 10950.  (0) 2023.09.12
[JAVA] 백준 10807.  (2) 2023.09.10
[JAVA] 백준 1010.  (0) 2023.09.05
[JAVA] 백준 9012.  (0) 2023.09.01
[JAVA] 백준 1002.  (0) 2023.08.31