코린이의 소소한 공부노트

[LeetCode/Medium] 503. Next Greater Element II 본문

코딩테스트 풀이/JAVA

[LeetCode/Medium] 503. Next Greater Element II

무지맘 2023. 2. 27. 23:52

1. Input

1) int[] nums

 

2. Output

1) nums가 순환 배열이라고 할 때, i번째 이후의 요소들 중 nums[i]보다 큰 첫 번째 수를 차례대로 담은 배열을 반환

2) 그런 수를 찾지 못했다면 -1을 저장

 

3. Constraint

1) 1 <= nums.length <= 10^4

2)  - 10^9 <= nums[i] <= 10^9

 

4. Example

Input: nums = [1,2,1] -> Output: [2,-1,2]

Input: nums = [1,2,3,4,3] -> Output: [2,3,4,-1,4]

 

5. Code

1) 첫 코드(2023/02/27)

int[] answer = new int[nums.length];
for(int i=0 ; i<nums.length ; i++){
    answer[i] = -1;
    boolean find = false;
    for(int j=i+1 ; j<nums.length ; j++){
        if(nums[j]>nums[i]){
            answer[i] = nums[j]; find = true; break;
        }
    }
    if(!find){
        for(int j=0 ; j<i ; j++){
            if(nums[j]>nums[i]){
                answer[i] = nums[j]; break;
            }
        }
    } // !find
}
return answer;