[LeetCode] 2553. Separate the Digits in an Array

ZenTechie·2023년 4월 25일
0

PS

목록 보기
8/53

Desc

Given an array of positive integers nums, return an array answer that consists of the digits of each integer in nums after separating them in the same order they appear in nums.

To separate the digits of an integer is to get all the digits it has in the same order.

  • For example, for the integer 10921, the separation of its digits is [1,0,9,2,1].

 

Example 1:

Input: nums = [13,25,83,77]
Output: [1,3,2,5,8,3,7,7]
Explanation: 
- The separation of 13 is [1,3].
- The separation of 25 is [2,5].
- The separation of 83 is [8,3].
- The separation of 77 is [7,7].
answer = [1,3,2,5,8,3,7,7]. Note that answer contains the separations in the same order.

Example 2:

Input: nums = [7,1,3,9]
Output: [7,1,3,9]
Explanation: The separation of each integer in nums is itself.
answer = [7,1,3,9].

 

Constraints:

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

Code

class Solution:
    def separateDigits(self, nums: List[int]) -> List[int]:
        # sol 1
        ret = []
        
        for num in nums:
            tmp = []
            while num:
                tmp.append(num % 10)
                num //= 10

            ret += reversed(tmp)

        return ret

        # sol 2
        ret = []
        for num in nums:
            for x in str(num):
                ret.append(int(x))
        
        return ret

Code Desc

2가지 방법으로 풀 수 있다.

  1. 수를 10으로 나누면서 임시 리스트에 저장하고, return 할 리스트에 뒤집어서 붙이기.
  2. 수를 이루고 있는 각 숫자들을 str 타입으로 받아서 return 할 리스트에 직접 붙이기.
profile
데브코스 진행 중.. ~ 2024.03

0개의 댓글