최대 1 분 소요

1. 문제

1929. Concatenation of Array

Easy


Given an integer array nums of length n, you want to create an array ans of length 2n where ans[i] == nums[i] and ans[i + n] == nums[i] for 0 <= i < n (0-indexed).

Specifically, ans is the concatenation of two nums arrays.

Return the array ans.

 

Example 1:

Input: nums = [1,2,1]
Output: [1,2,1,1,2,1]
Explanation: The array ans is formed as follows:
- ans = [nums[0],nums[1],nums[2],nums[0],nums[1],nums[2]]
- ans = [1,2,1,1,2,1]

Example 2:

Input: nums = [1,3,2,1]
Output: [1,3,2,1,1,3,2,1]
Explanation: The array ans is formed as follows:
- ans = [nums[0],nums[1],nums[2],nums[3],nums[0],nums[1],nums[2],nums[3]]
- ans = [1,3,2,1,1,3,2,1]

 

Constraints:

  • n == nums.length
  • 1 <= n <= 1000
  • 1 <= nums[i] <= 1000

출처: Leetcode, https://leetcode.com/

2. 해결방법 시간복잡도

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. 리스트의 값을 반복하면 되는 문제이다.
  2. 반복문을 통해 해당 값을 결과 리스트에 두번 넣어서 해결하면 된다.

5. 비슷하지만 더 쉽게

  1. 메모리 효율은 비슷하나 훨씬 쉽고 시간복잡도도 낮은 방법이다.
import re
class Solution:
    def numDifferentIntegers(self, word: str) -> int:
        return nums*2
  • 그냥 2배로 출력하면 된다.