문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
풀이
정수 개수가 9개로 고정되어 있고, 입력은 한 줄에 하나씩 입력받는 문제.
한 줄에 하나씩이라서 scan.nextInt()를 쓰면 틀리고, readLine()을 사용해서 입력받았다.
for문으로 0~9 반복하면서 입력받고,
max값 비교해서 max인 경우 해당 값과, 인덱스값 (0부터 시작했기 때문에 +1 해줘야 한다) 을 저장한다.
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.util.*; import java.io.*; public class Main{ public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] nums = new int[9]; int max = 0; int max_idx = 0; for(int i = 0; i < 9; i++){ nums[i] = Integer.parseInt(br.readLine()); if(nums[i] > max){ max = nums[i]; max_idx=i+1; } } System.out.println(max); System.out.println(max_idx); br.close(); } } | cs |
'프로그래밍 > JAVA' 카테고리의 다른 글
acmicpc(baekjoon) - 3052 : 나머지 (0) | 2021.03.08 |
---|---|
acmicpc(baekjoon) - 2577 : 숫자의 개수 (0) | 2021.03.08 |
acmicpc(baekjoon) - 10818 : 최소, 최대 (0) | 2021.03.08 |
acmicpc(baekjoon) - 1110 : 더하기 사이클 (0) | 2021.03.01 |
acmicpc(beakjoon) - 10951 : A+B -4 (0) | 2021.03.01 |