https://school.programmers.co.kr/learn/courses/30/lessons/120899
이번에도 단순하게 풀었다.
int 배열 answer의 값은 [최대값,최대값의 위치값]으로 고정되어 있기때문에 new int[2]로 선언을 해준다.
그 후 배열 array 길이의 -1 반복조건문을 설정한다. 왜냐하면 array[i+1]이라는 식이 있는데 array의 길이만큼만 실행하게 된다면,
본길이보다 +1의 값을 비교하라고 하는 탓에 컴파일 에러가 난다.
그래서 array의 i번째 숫자가 i+1보다 크다면 answer[0]에 array의 i번째에 해당하는 숫자를 넣고 answer[1]에는 i를 저장한다.
그 반대의 상황인 array[i+1]이 array[i]보다 크다면 answer[0]에는 array의 i+1번째의 해당하는 숫자를 넣고 answer[1]에는 i+1을 저장한다.
import java.util.*;
class Solution {
public int[] solution(int[] array) {
int[] answer = new int[2];
for(int i=0; i<array.length-1;i++){
if(array[i]>array[i+1]){
answer[0] = array[i];
answer[1] = i;
}else{
answer[0] = array[i+1];
answer[1] = i+1;
}
}
return answer;
}
}
'프로그래머스 문제풀어보기' 카테고리의 다른 글
[Lv.0] 피자 나눠 먹기(2) (0) | 2023.02.28 |
---|---|
[Lv.0] 가장 큰 수 찾기 (0) | 2023.02.27 |
[Lv.0] 인덱스 바꾸기 (0) | 2023.02.26 |
[Lv.0] 최댓값 만들기(2) (0) | 2023.02.25 |
[Lv.0] 주사위의 개수 (0) | 2023.02.25 |
댓글