안녕하세요. 이번에는 백준 2562 최댓값 문제를 풀어보려고 합니다.
https://www.acmicpc.net/problem/2562
Problem
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
Solution
import java.io.*;
import java.util.*;
public class Main {
static int pos = 0;
static int max = Integer.MIN_VALUE;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
for(int i = 1; i <= 9; i++) {
int num = Integer.parseInt(br.readLine());
check(num, i);
}
sb.append(max + " \n");
sb.append(pos);
System.out.println(sb.toString());
}
public static void check(int num, int idx) {
if(num > max) {
pos = idx;
max = num;
}
}
}
초기에 max 값을 최저값으로 세팅 후 num 값을 받아 올 때마다 check 해주면서 num이 max 보다 크면 pos에 입력값의 위치인 idx 값을 넣고 max에는 num 값을 넣어주면서 주어진 값 들을 다 확인한 다음 max 값과 pos 값을 출력해 주면 문제를 해결할 수 있다.
Performance
반응형
'백준 Algorithm > 백준 CLASS1' 카테고리의 다른 글
[백준] CLASS1 11720번 : 숫자의 합 - JAVA [자바] (0) | 2023.09.26 |
---|---|
[백준] CLASS1 10818번 : 최소, 최대 - JAVA [자바] (0) | 2023.09.25 |
[백준] CLASS1 2675번 : 문자열 반복 - JAVA [자바] (0) | 2023.09.24 |