백준 5단계(1 ~2번 문제)
1번 문제의 경우 N 개의 숫자가 주어졌을 때 최대값, 최소값 구하는 문제였다.
모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수라는 조건이 있어서,
최소값을 저장할 변수 min과 최대값을 저장할 변수 max에 이 값들을 초기값으로 설정해 주었다.
정수형 배열 하나 선언하고 for문을 돌면서 min, max 값이 arr[i]값 비교해주면 해결.
Scanner sc = new Scanner(System.in);
int min = -1000000;
int max = 1000000;
int n = sc.nextInt();
int[] arr = new int[n];
for(int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
if (max < arr[i]) {
max = arr[i];
}
if (min > arr[i]) {
min = arr[i];
}
}
System.out.println(min + " " + max);
2번 문제의 경우 9개의 서로 다른 자연수가 주어질 때 최대값과 그 위치를 구하는 문제.
앞선 문제에서 최대값 구하는 부분은 동일하게 작성해주고,
위치를 찾기 위해 새로운 정수형 변수 하나 만들어서 for문 내의 i값을 새로 만든 정수형 변수에 저장해주기.
Scanner sc = new Scanner(System.in);
int max = 0;
int n = 9;
int[] arr = new int[9];
int maxIndex = 0;
for(int i = 0; i < 9; i++) {
arr[i] = sc.nextInt();
if (max < arr[i]) {
max = arr[i];
maxIndex = i;
}
}
System.out.println(max);
System.out.println(maxIndex + 1);
나의 경우 for문을 돌 때 i의 초기값을 0으로 지정해주어서 마지막에 maxIndex +1로 출력해주었다.
'Algorithm' 카테고리의 다른 글
2021.08.03 (0) | 2021.08.03 |
---|---|
2021.07.31 (0) | 2021.07.31 |
2021.07.22 (0) | 2021.07.22 |
2021.07.21 (0) | 2021.07.21 |
2021.07.20 (0) | 2021.07.20 |