728x90
반응형
SMALL
제목 : 최댓값 (no.2562)
문제 출처
문제
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 |