메모리: 75.5 MB, 시간: 0.06 ms
코딩테스트 연습 > 코딩테스트 입문
정확성: 100.0
합계: 100.0 / 100.0
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
array의 길이 ≤ 100array 원소 ≤ 1,000array에 중복된 숫자는 없습니다.| array | result |
|---|---|
| [1, 8, 3] | [8, 1] |
| [9, 10, 11, 8] | [11, 2] |
입출력 예 #1
입출력 예 #2
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
class Solution {
public int[] solution(int[] array) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
int max = Collections.max(list);
int index = list.indexOf(max);
int[] answer = {max, index};
return answer;
}
}
@Test
@DisplayName("{1, 8, 3} = {8, 1}")
void solution() {
int[] array = {1, 8,3};
int[] ans = {8, 1};
Assertions.assertThat(new Solution().solution(array)).isEqualTo(ans);
}
@Test
@DisplayName("{9, 10, 11, 8} = {11, 2}")
void solution2() {
int[] array = {9, 10, 11, 8};
int[] ans = {11, 2};
Assertions.assertThat(new Solution().solution(array)).isEqualTo(ans);
}
Integer 타입의 arrayList를 하나 만들어주고
인자값으로 들어온 array에 있는 원소값들을
다 add 해준 후
Collections.max 메서드를 이용하여 list의 max값을 찾아줬다
해당 max값으로 max값이 위치한 index를 list의 indexOf 메서드를 통해 찾았다
answer int배열에 max,index를 넣어준 후 return