오늘의 공부 키워드

  • 1470 Shuffle the Array

1470 Shuffle the Array

주어진 배열 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

풀이 방법:

  1. 결과를 저장할 빈 배열 result를 초기화합니다.
  2. 인덱스 i를 0부터 n-1까지 반복합니다.
  3. 각 반복에서 nums의 앞쪽 절반에서 x 값을, 뒷쪽 절반에서 y 값을 번갈아가며 result 배열에 추가합니다.
  4. 결과 배열을 반환합니다.

코드

 

def shuffle(nums, n):
    result = []
    for i in range(n):
        result.append(nums[i])       # x 값을 추가
        result.append(nums[i + n])   # y 값을 추가
    return result

# 예제 실행
print(shuffle([2, 5, 1, 3, 4, 7], 3))  # [2, 3, 5, 4, 1, 7]
print(shuffle([1, 2, 3, 4, 4, 3, 2, 1], 4))  # [1, 4, 2, 3, 3, 2, 4, 1]
print(shuffle([1, 1, 2, 2], 2))  # [1, 2, 1, 2]

 

 

오늘의 회고

 

  • 부족함을 느끼지만 실력을 늘리는것이 제일 빠른길임을 명심하자
  • 새로운 개념을 배울수 있어서 좋았다.

+ Recent posts