본문 바로가기
Etc/백준(JAVA) 문제풀이

[백준] 2562번 Java 문제풀이

by pplucy 2021. 1. 8.

주어진 배열의 최댓값과 위치를 구하는 문제

 

 

정해진 갯수대로 배열의 크기를 만들어 준 뒤 각 배열들을 서로 비교하면서 상대적으로 큰 수를

임시 max 에 저장해준다. 하지만 저장되기 전에 기존에 있는 max값과 큰 수를 비교해서

max값 보다 클 경우에만 max값이 바뀌게 예외처리를 해준다.

이렇게 for 문이 다 돌고나서 결국 max에 남게 되는건 최댓값 !

 

 

최댓값의 위치를 구하는건 위의 식을 토대로 구해진 max와

각각의 인덱스 값들과 비교하여 max와 값이 같지 않은 경우엔 +1 을 해주었고

max값에 해당되는 값을 만나게 되면 break으로 for문을 탈출하게 했다.

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        
        
        int[] numArr = new int[9];
        int max = 0;
        int num = 1;
        for(int i = 0; i < numArr.length; i++) {
            
                numArr[i] = sc.nextInt();
        }
        
        for(int i = 0; i < numArr.length-1; i++) {
            if(numArr[i] > numArr[i+1]){
                if(max < numArr[i]) {
                    max = numArr[i];
                }
            } else if(numArr[i] < numArr[i+1]) {
                
                if(max < numArr[i+1]) {
                    max = numArr[i+1];
                }
            }
        }
        
        for(int i = 0 ; i < numArr.length; i++) {
            
            if(numArr[i] != max) {
                num++;
            } else if(numArr[i] == max){
                break;
            }
        }
        
        
        System.out.println(max);
        System.out.println(num);
    }
 
}
  cs

 

댓글