[LeetCode] Sort Array By Parity II

아르당·2026년 3월 13일

LeetCode

목록 보기
199/213
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

정수 배열 nums가 주어졌을 때, nums에 있는 정수의 절반은 홀수이고 나머지 절반은 짝수이다.
nums[i]가 홀수일 때는 i도 홀수이고, nums[i]가 짝수일 때는 i도 짝수가 되도록 배열을 정렬해라.
이 조건을 만족하는 모든 배열을 반환해라.

Example

#1
Input: nums = [4, 2, 5, 7]
Output: [4, 5, 2, 7]
Explanation: [4, 7, 2, 5], [2, 5, 4, 7], [2, 7, 4, 5] 또한 받아들려진다.

#2
Input: nums = [2, 3]
Output: [2, 3]

Constraints

  • 2 <= nums.length <= 2 * 10^4
  • nums.length는 짝수이다.
  • 숫자의 절반은 짝수이다.
  • 0 <= nums[i] <= 1000

Solved

class Solution {
    public int[] sortArrayByParityII(int[] nums) {
        int ans[] = new int[nums.length];
        int even = 0;
        int odd = 1;
        
        for(int num : nums){
            if(num % 2 == 0){
                ans[even] = num;
                even += 2;
            }else{
                ans[odd] = num;
                odd += 2;
            }
        }

        return ans;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글