반응형
배열이 주어지면 해당 배열의 arr모든 요소를 오른쪽에 있는 요소 중 가장 큰 요소로 바꾸고 마지막 요소를 -1로 바꾸는 문제이다.
이 문제의 핵심은 배열 어디서 부터 찾을것이고 어떻게 큰 값을 찾는지가 중요한것같다
public class Solution {
public int[] replaceElements(int[] arr) {
int max = -1;
for(int i=arr.length-1; i>=0; i--){
int v = arr[i];
arr[i]=max;
max = Math.max(v,max);
}
return arr;
}
}
먼저 arr를 뒤에서 부터 돌게 해주었다.
arr의 인덱스 i를 변수 v에 담아주고 max값을 arr의 index i자리에 넣어 주었다.
그 이후 max값을 담아준 v와 현재 갖고 있는 max값 둘 중 큰값으로 교체해준다.
https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3259/
'알고리즘' 카테고리의 다른 글
[Leetcode] Find Numbers with Even Number of Digits (0) | 2021.09.12 |
---|---|
[Leetcode]Max Consecutive Ones (0) | 2021.09.09 |
[LeetCode]Find All Numbers Disappeared in an Array (0) | 2021.09.06 |
Valid Mountain Array (0) | 2021.07.21 |
Check If N and Its Double Exist (0) | 2021.07.19 |