-
[level1] - 나누어 떨어지는 숫자 배열programmers/level1 2020. 4. 3. 23:31
[ 풀이 ]
arr divisor return [5,9,7,10] 5 [5,10] [2,36,1,3] 1 [1,2,3,36] [3,2,6] 10 [-1] <입출력 예 설명>
입출력 예#1
arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 [5, 10]을 리턴합니다.입출력 예#2
arr의 모든 원소는 1로 나누어 떨어집니다. 원소를 오름차순으로 정렬해 [1, 2, 3, 36]을 리턴합니다.입출력 예#3
3, 2, 6은 10으로 나누어 떨어지지 않습니다. 나누어 떨어지는 원소가 없으므로 [-1]을 리턴합니다.설명 :
입력으로 받은 arr를 for문을 통해 arr의 길이만큼 반복하고 if문 조건을 arr 각 항목을 divisor로 나눴을 때,
나머지가 0이면 나누어 떨어진다는 소리이기 때문에 push()를 통해 answer에 집어넣는다.
그러고 나서, sort()를 통해 arr를 정렬하고, 만약 나머지가 0이 아닌 즉, 나누어 떨어지지 않았다면,
answer의 길이가 0이기 때문에 answer.length가 0이라는 조건이 성립되면, push()를 통해 -1을 집어넣어 return 한다.
[ code ]
function solution(arr, divisor) { var answer = []; for(let i = 0; i < arr.length; i++){ if(arr[i] % divisor === 0){ answer.push(arr[i]); } } answer.sort((a, b) => (a-b)); if(answer.length === 0){ answer.push(-1); } return answer; }
'programmers > level1' 카테고리의 다른 글
[level1] - 정수 내림차순으로 배치하기 (0) 2020.04.07 [level1] - 행렬의 덧셈 (0) 2020.04.07 [level1] - 가운데 글자 가져오기 (0) 2020.04.02 [level1] - 문자열을 정수로 바꾸기 (0) 2020.04.01 [level1] - k번째수 (0) 2020.04.01