[백준] 2562. 최댓값

문제

https://www.acmicpc.net/problem/2562

풀이(1)

배열을 생성한 후 반복문을 통해 숫자를 입력 받는다.
max값과 idx값을 0으로 초기화 하고, 숫자가 담겨 있는 배열을 반복문으로 돌려 max값과 비교한다. 최대값을 찾으면 max값에 넣고 idx는 1번부터 시작하기 때문에 i+1을 해준다.

코드(1)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int[] arr = new int[9];
		for(int i = 0; i < arr.length; i++) {
			arr[i] = Integer.parseInt(br.readLine());
		}
		int max = 0;
		int idx = 0;
		for(int i = 0; i < arr.length; i++) {
			if(arr[i] > max){
          			max = arr[i];
			    	idx = i+1;
       			}
		}
		System.out.println(max);
		System.out.println(idx);
	}
}

풀이(2)

이번에도 역시 배열을 생성하지 않고 반복문 안에서 숫자를 바로바로 받아 그 값과 max값을 비교하도록 한다.

코드(2)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int max = 0;
		int idx = 0;
		
		for(int i = 0; i < 9; i++) {
			int val = Integer.parseInt(br.readLine());
			if(val > max){
                            max = val;
                            idx = i+1;
                        } 
		}
		System.out.println(max);
		System.out.println(idx);
	}
}

좋은 웹페이지 즐겨찾기