백준 2562번 자바
https://www.acmicpc.net/problem/2562
알고리즘
100보다 작은 9개의 서로 다른 자연수를 입력받는다. ( 1줄 1개 )
이 중 최댓값을 찾고 몇 번째인지 출력하기.
1. 9번 반복문을 돌린다.
2. 반복하여 입력받을때마다 최댓값을 비교한다.
3. 최댓값이 맞으면 max에 값을 넣어주고, 몇 번째 돌렸을 때인지 count에 값을 넣어준다.
4. max와 count를 출력한다.
풀이1
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class No_2562 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int max = 0;
int count = 0;
for (int i = 1; i < 10; i++) {
int num = Integer.parseInt(br.readLine());
if (max < num) {
max = num;
count = i;
}
}
sb.append(max).append("\n").append(count);
System.out.println(sb);
}
}
100보다 작은 9개의 서로 다른 자연수를 입력받는 것을 알고있다.
그래서 9번 반복하여 입력을 받는다.
돌릴때마다 최댓값 max를 비교하여 크다면 max와 count에 값을 넣어준다.
반복문이 끝나면 StringBuilder에 max와 한줄 띄우기("\n"), count를 추가하여 출력한다.
이상한점
100보다 작은 서로 다른 9개의 자연수이므로 99가 최댓값이다.
99와 동일하거나 더 높은 숫자가 없으므로 입력받을 때 99가 나오면 break하여 반복문을 종료하여 문제를 맞춰봤다.
그래도 시간이 줄어들지 않아 97보다 클때 break하여 반복문을 종료시켜도 정답이 나와서 문제채점이 잘못되었다는 것을 알 수 있다.
'코딩테스트 > Java - 백준' 카테고리의 다른 글
[백준] 3052번 - Java(자바) (0) | 2022.01.25 |
---|---|
[백준] 2577번 - Java(자바) (0) | 2022.01.23 |
[백준] 10818번 - Java(자바) (0) | 2022.01.14 |
[백준] 1110번 - Java(자바) (0) | 2022.01.11 |
[백준] 10952번 - Java(자바) (0) | 2022.01.09 |