[BOJ] 2562번 최댓값 - JAVA

최영환·2022년 9월 24일
0

BaekJoon

목록 보기
7/86
post-thumbnail
## Java 풀이 시 유의사항 ##
클래스명은 Main 으로 작성해야함!

💡 문제

💬 입출력 예시

📌 풀이(소스코드)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[9];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
        }

        int max = -1;
        int idx = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
                idx = i;
            }
        }
        System.out.println(max);
        System.out.println(idx+1);
        sc.close();
    }
}

// 풀이 2 (개선코드)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
 
public class Main {
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
		int max = 0;
		int index = 0;
		for(int i = 0 ; i < 9 ; i++) {
 
			int val = Integer.parseInt(br.readLine());
			
			if(val > max) {
				max = val;
				index = i+1;
			}
		}
 
		System.out.println(max);
		System.out.println(index);
	}
}

📄 해설

  • 9 개의 정수를 입력받고, 이를 배열에 저장한 다음, 최댓값을 찾는 반복문을 수행함
  • 이후 최댓값과 인덱스 값 출력
  • 풀이 2 의 경우 배열을 사용하지 않고 입력과 동시에 최댓값을 비교하는 방식
  • 풀이 2풀이 1 의 차이는 입력 속도도 있겠으나, 배열 사용 여부와 반복문 수의 차이
  • 상단이 풀이 2, 하단이 풀이 1 의 채점 결과. 풀이 2 가 훨씬 더 좋은 코드임을 알 수 있음
profile
조금 느릴게요~

0개의 댓글