View
문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- -10,000 ≤ numbers의 원소 ≤ 10,000
- 1 ≤ numbers의 길이 ≤ 1,000
입출력 예numbersresult
[1, 2, 3, 4, 5] | [2, 4, 6, 8, 10] |
[1, 2, 100, -99, 1, 2, 3] | [2, 4, 200, -198, 2, 4, 6] |
입출력 예 설명
입출력 예 #1
- [1, 2, 3, 4, 5]의 각 원소에 두배를 한 배열 [2, 4, 6, 8, 10]을 return합니다.
입출력 예 #2
- [1, 2, 100, -99, 1, 2, 3]의 각 원소에 두배를 한 배열 [2, 4, 200, -198, 2, 4, 6]을 return합니다.
나의 풀이
1차원 적으로 for 문을 사용하여, 각각의 원소에 2를 곱한 한 후 리스트에 포함시켜 줄수도 있으나, numbers의 원소의 갯수가 1000개 이상이 된다면, 시간복잡도 면에서 성능이 저하될 수 있을 것이다. 따라서, numpy 라이브러리를 사용하기로 결정!
해결전 풀이
TypeError: Object of type ndarray is not JSON serializable 발생!
import numpy as np
def solution(numbers):
arr = np.array(numbers)
return arr * 2
-- Result 행렬의 형태로 출력
[1 2 3 4 5]
해결 한 풀이
import numpy as np
def solution(numbers):
arr = np.array(numbers)
return (arr * 2).tolist()
-- Result 리스트 형태로 바꾸어 주어야 한다.
[1, 2, 3, 4, 5]
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
programmers) 제곱수 판별하기 (0) | 2022.11.05 |
---|---|
programmers) 문자열 뒤집기 (0) | 2022.11.05 |
programmers) 배열 뒤집기 (0) | 2022.11.05 |
programmers) 피자 나눠먹기 (1) (0) | 2022.11.05 |
programmers) 머쓱이보다 키 큰 사람 (0) | 2022.11.04 |
reply