백준 - 알고리즘
백준 (JAVA) - 최댓값 (2562)
정리하고기록하자
2021. 11. 16. 21:27
반응형
백준 - 알고리즘 1차원배열 최댓값 (2562) 문제
문제 : 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력 : 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
문제에서 입력에 보면 9번째 까지의 자연수가 주어진다고 했으니까
배열의 크기를 9로 선언했다.
import java.util.Arrays;
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 ++) {
int b = sc.nextInt();
}
입력한 값이 max 값보다 크다면 max = b 라는 조건을 추가했다.
int max = 0;
for(int i = 0; i < arr.length; i ++) {
int b = sc.nextInt();
if(max < b) {
max = b;
}
}
마지막 출력에 최댓값을 출력 하고, 최댓값이 몇 번째 수인지를 출력 하기 위해
count 변수를 추가했다.
int count = 0;
for(int i = 0; i < arr.length; i ++) {
int b = sc.nextInt();
if(max < b) {
max = b;
count = i;
}
}
마지막으로 정렬 후 출력!
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[9];
int max = 0;
int count = 0;
for(int i = 0; i < arr.length; i ++) {
int b = sc.nextInt();
if(max < b) {
max = b;
count = i;
}
}
Arrays.sort(arr);
System.out.println(max);
System.out.println(count+1);
}
}
반응형