-
[BaekJoon Java] 최댓값(2562), Array와 ArrayList 차이점Coding Test/BaekJoon 2020. 12. 26. 17:05
- 문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
- 예제 입출력
- 풀이
package step.array.one_dimensional; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. * 예를 들어, 서로 다른 9개의 자연수 * 3, 29, 38, 12, 57, 74, 40, 85, 61 * 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. * @author imj10 * */ public class Max { public static void main(String[] args) { Scanner sc = new Scanner(System.in); List<Integer> list = new ArrayList<Integer>(); int max = 0; int seq = 0; for ( int i=1; i <= 9; i ++ ) { int a = sc.nextInt(); list.add(a); if ( max < a ) { max = a; seq = i; } } System.out.println(max + "\n" + seq); } }
- 결과
- 추가설명
문제를 풀면서 궁금증이 생겼다.
array를 처음 배울때만 쓰고 잘 쓰지 않았던거 같다.
항상 ArrayList를 썼는데 그냥 배열을 사용하는 이유가 있을 거 같은데 뭐였을까 궁금해졌다.
그래서 차이점을 찾아봤다.
배열(Array)와 ArrayList 차이점
1. 배열(Array)
- 배열의 크기: 불변적. 변경 불가
- 초기화 시 메모리에 할당되어 상대적으로 속도가 빠르다.
-- Array 생성 int[] arr = new int[5];
2. ArrayList
- 배열의 크기: 가변적
- 저장하는 데이터 수에 따라 크기 변경
- 추가 시 add(), 삭제 시 remove() 사용
- 데이터 추가 삭제 시 메모리를 재할당하기 때문에 속도가 상대적으로 느리다.
-- ArrayList 생성 List<Integer> list = new ArrayList<Integer>();
'Coding Test > BaekJoon' 카테고리의 다른 글
[BaekJoon Java] 나머지(3052) (0) 2020.12.26 [BaekJoon Java] 숫자의 개수(2577) (0) 2020.12.26 [BaekJoon Java] X보다 작은 수(10871) (0) 2020.12.25 [BaekJoon Java] A + B - 7(11021) (0) 2020.12.20 [BaekJoon Java] A + B - 8(11022) (0) 2020.12.20