ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 최대값 구하기
    Coding Test/Algorithm Labs 2023. 3. 21. 21:32

     

     

    문제 :

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

     

    입력 :

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

     

    출력 : 

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

     

    예제 입력 :

    3
    29
    38
    12
    57
    74
    40
    85
    61

     

    예제 출력 : 

    85
    8

     

    package week2day1;
    
    import java.util.Scanner;
    
    public class SearchMaxNum {
    
    	public static void main(String[] args) {
    		
    		Scanner sc = new Scanner(System.in);
    		
    		int[] array = new int[20];
    		
    		int max = 0;  // 최대값 저장
    		int index = 0;  // 몇번째 수인지 index값 저장
    		
    
    		for(int i=1; i<=9; i++) {  // 배열 입력
    			array[i] = sc.nextInt();
    		}
    		
    		for(int i=1; i<=9; i++) {  //최대값 구하기 
    			if(array[i] > max) {
    				max = array[i];
    				index = i;  // 배열 번호를 index에 저장 
    			}
    		}
    		
    		System.out.println(max);
    		System.out.println(index);
    		
    	}
    
    }

    출력 화면

     

    * index 값 ( 몇번째 배열인지) 를 찾아야 하므로 for문에 i를 0이 아닌 1부터 시작해 주는 게 편함.

    * 배열의 값을 차례대로 max와 비교 후에 배열의 값이 max보다 크다면 max의 배열의 값을 저장한다.

    'Coding Test > Algorithm Labs' 카테고리의 다른 글

    대소문자 변환  (1) 2023.03.28
    지뢰찾기  (2) 2023.03.27
    행렬 뒤집기  (1) 2023.03.23
    두번째 최소값 찾기  (1) 2023.03.23
    역으로 출력하기  (1) 2023.03.21

    댓글

Designed by Tistory.