본문 바로가기

TIL/Algorithm

Java 백준 2562번 문제

반응형

문제

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.

예를 들어, 서로 다른 9개의 자연수

3, 29, 38, 12, 57, 74, 40, 85, 61

이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

입력

첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.

출력

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.

예제 입력 1 

3

29

38

12

57

74

40

85

61

예제 출력 1 

85

8

BufferedReader 클래스를 이용하여 입력받는데,

지문에서 9개의 서로 다른 자연수가 주어진다고 명시되어 있기 때문에

배열 arr의 사이즈를 9로 지정한다

 

그리고 반복문을 배열의 사이즈만큼 돌면서 

한 줄씩 들어오는 입력값을 배열 arr에 저장해준다

 

그리고 최댓값의 위치를 체크하기 위해 check 변수와

반복문을 돌때, 최댓값을 알기 위해 max 변수를 선언하고 초기값을 0번째 인덱스의 값으로 미리 지정한다

 

다시 한번 반복문을 배열의 사이즈만큼 돌면서

If 조건문을 이용하여 인덱스 별로 하나씩 조사하는데

이때, 인덱스가 가진 값 (arr[i])이 기존 max 값보다 클 때

max를 바꿔줌과 동시에 check도 i(순서)로 바꿔준다

 

반복문 밖에서 max/check를 출력해주는데

배열은 0번째 부터 시작하기 때문에 +1 한 값을 출력해준다

반응형

'TIL > Algorithm' 카테고리의 다른 글

Java 백준 3052번 문제  (0) 2021.09.25
Java 백준 2577번 문제  (0) 2021.09.24
Java 백준 10818번 문제  (0) 2021.09.22
Java 백준 1110번 문제  (0) 2021.09.21
Java 백준 10951번 문제  (0) 2021.09.20