문제 링크 : https://www.acmicpc.net/problem/2562
1. 요구 사항 이해
시간, 메모리 제한 : 1초 / 128MB
9개의 중복 없는 자연수 중 최댓값을 찾고 몇 번째 수인지 구하는 프로그램
자연수는 100 보다 작다
2. 설계/검증
복잡도
시간 복잡도 | 최악의 경우 | 공간 복잡도 |
O(1) | O(1) |
입력 받기: O(1) (상수 시간, 9개의 입력), 최댓값 찾기: O(9) (상수 시간, 9개의 요소 순회) 시간 복잡도는 O(1)
배열 크기: O(9), 추가 변수: O(1) (max와 maxIndex) 공간 복잡도는 O(1)
3. 정상 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 입력을 위한 객체 생성
Scanner scan = new Scanner(System.in);
// 중복 없는 9개의 자연수 입력
int[] nums = new int[9];
for (int i = 0; i < nums.length; i++) {
nums[i] = scan.nextInt();
// 자연수 범위 유효성 검사
if (nums[i] <= 1 || nums[i] >= 100) {
System.out.println("입력 자연수는 100 보다 작다");
return;
}
}
int max = nums[0];
int maxIndex = 0;
for (int i = 0; i < nums.length; i++) {
if (max < nums[i]) {
max = nums[i];
maxIndex = i;
}
}
//결과 출력
System.out.println(max);
System.out.println(maxIndex + 1);
scan.close();
}
}
'◖코딩 테스트◗▬▬▬▬▬▬▬▬▬ > 백준' 카테고리의 다른 글
[백준] 10813 공 바꾸기 (설명/코드/정답) (0) | 2024.08.11 |
---|---|
[백준] 10810 공 넣기 (설명/코드/정답) (0) | 2024.08.11 |
[백준] 10818 최소, 최대 (설명/코드/정답) (0) | 2024.08.09 |
[백준] 10871 X보다 작은 수 (설명/코드/정답) (0) | 2024.08.08 |
[백준] 10807 개수 세기 (설명/코드/정답) (0) | 2024.08.07 |