Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발 일지

1470. Shuffle the Array (배열 섞기) 본문

코딩 테스트/LeetCode

1470. Shuffle the Array (배열 섞기)

포카리tea 2023. 2. 27. 09:50

형식의 요소 nums로 구성된 배열이 주어집니다 .2n[x1,x2,...,xn,y1,y2,...,yn]
형식으로 배열을 반환합니다 .[x1,y1,x2,y2,...,xn,yn]

예시 1:

입력: nums = [2, 5, 1, 3, 4, 7], n = 3
출력: [2, 3, 5, 4, 1, 7]
설명: x1=2, x2=5, x3=1, y1=3, y2=4, y3=7이므로 답은 [2, 3, 5, 4, 1, 7]입니다.

예시 2:

입력: nums = [1, 2, 3, 4, 4, 3, 2, 1], n = 4
출력: [1, 4, 2, 3, 3, 2, 4, 1]

예시 3:

입력: nums = [1, 1, 2, 2], n = 2
출력: [1, 2, 1, 2]

 

조건:

  • 1 <= n <= 500
  • nums.length == 2n
  • 1 <= nums[i] <= 10^3

정답:

public class Solution {
    public int[] Shuffle(int[] nums, int n) {
        List<int> outputs = new List<int>();

        for (int i = 0; i < nums.Length / 2; i++)
        {
            outputs.Add(nums[i]);
            outputs.Add(nums[i + n]);
        }

        return outputs.ToArray();
    }
}

해설: 

배열 크기를 2로 나눈 값만큼 i 번째 값과 i + n 번째 값을 순차적으로 추가하도록 반복해주었습니다.