문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120899
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
입출력 예시
array | result |
[1, 8, 3] | [8, 1] |
[9, 10, 11, 8] | [11, 2] |
풀이
1. array에 있는 최대값과 해당 최대값의 인덱스를 반환해야한다.
2. stream().max().getAsInt() 을 이용해서 최대값을 추출한다.
3. 반복문을 통해서 최대값이 있는 인덱스를 찾는다.
4. 배열 형태로 리턴해야하기 때문에 최대값과 인덱스 값을 배열로 초기화하여 리턴한다.
코드 - 배열
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int[] array) {
int max = Arrays.stream(array).max().getAsInt();
int idx = -1;
for(int i = 0; i < array.length; i++) {
if(max == array[i]) {
idx = i;
break;
}
}
return new int[] {max, idx};
}
}
코드 - 리스트
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int[] array) {
List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());
int max = list.stream().max(Integer::compareTo).orElse(0);
int index = list.indexOf(max);
return new int[] {max, index};
}
}
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Java :: 가장 큰 수 (0) | 2023.10.05 |
---|---|
[프로그래머스] Java :: 가까운 수 (0) | 2023.09.15 |
[프로그래머스] Java :: n의 배수 고르기 (0) | 2023.09.14 |
댓글