문제
시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 60184 29546 26391 50.022%
문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
문제풀이
1. 입력받은 정수들과 기존의 max(=0)을 비교하여 큰 값을 max에 저장하는 방식이다.
2. 저장받고 cnt도 증가시켜서 최댓값이 몇 번째인지 알 수 있다.
소스코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int max = 0;
int input = 0;
int cnt = 0;
for(int i = 0; i < 9 ; i++) {
if( max < (input=Integer.parseInt(new StringTokenizer(br.readLine()).nextToken()))) {
max = input;
cnt = i+1;
}
}
bw.write(max+"\n");
bw.write(cnt+"\n");
bw.flush();
bw.close();
}
}
이렇게 하면 배열을 할당하지 않아도 되고 정렬 메소드 또한 필요가 없기 때문에 굉장히 간편하다.
'백준 온라인 저지 문제풀이 > JAVA' 카테고리의 다른 글
[baekjoon 3052번] 1차원 배열 - 나머지 (0) | 2020.12.02 |
---|---|
[baekjoon 2577번] 1차원 배열 - 숫자의 갯수 (0) | 2020.12.02 |
[baekjoon 10818번] 1차원 배열 - 최소, 최대 (0) | 2020.12.02 |
[baekjoon 1110번] while문 - 더하기 사이클 (0) | 2020.12.02 |
[baekjoon 15552번] for문 - 빠른 A+B (0) | 2020.12.02 |