코더 장군
강아지코더
코더 장군
전체 방문자
오늘
어제
  • 분류 전체보기 (67)
    • 프론트엔드 (24)
      • react (9)
      • html5 * css3 (1)
      • Javascript (10)
    • 개발일기 (36)
      • 알고리즘 (27)
      • 블록체인 (3)
      • mongoDB (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 비공개#일기
  • 백준
  • 일기#심리상담

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
코더 장군

강아지코더

개발일기/알고리즘

나누어 떨어지는 숫자 배열

2021. 11. 8. 22:14

문제 설명

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

제한사항

  • arr은 자연수를 담은 배열입니다.
  • 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
  • divisor는 자연수입니다.
  • array는 길이 1 이상인 배열입니다.

 

1. 소수점 없는 숫자를 분류하는 방법을 찾고 ( el % divisor == 0) %는 나눈 나머지 값을 반환 하기 때문에 0이면 정수를  의미합니다. 

2. 빈 배열과 체크하는 함수를 만들고 return 값에 따라 빈 배열에 -1를 push하고 빈배열이 아니면 오름차순으로 정리해서 값을 리턴하도록 했다.

const ar = [3,2,7]
const di =  10


function solution(arr, divisor) {
    var answer = [];
    arr.forEach(el => {
				// 소수점이 없는 숫자를 찾아서 answer에 저장한다. 
        if(el % divisor == 0){
            answer.push(el);
        }
    }); 
		//isEmptyArr이라는 함수를 만들어서 빈 배열를 체크하고 -1 push한다. 
    if(isEmptyArr(answer)){
        answer.push(-1);
        return answer;
    }else{
        answer.sort((a , b)=> a - b)
        return answer;
    }
    
}

function isEmptyArr(arr)  {
	// 배열의 수가 없으면 
  if(Array.isArray(arr) && arr.length === 0)  {
    return true;
  }
  return false;
}
solution(ar, di)

 

'개발일기 > 알고리즘' 카테고리의 다른 글

행렬의 덧셈  (0) 2021.11.10
20번 문제 완주하지 못한 선수  (0) 2021.11.08
행렬의 덧셈  (0) 2021.11.08
음양 더하기  (0) 2021.11.08
문자열 정수로 바꾸기  (0) 2021.11.08
    '개발일기/알고리즘' 카테고리의 다른 글
    • 행렬의 덧셈
    • 20번 문제 완주하지 못한 선수
    • 행렬의 덧셈
    • 음양 더하기
    코더 장군
    코더 장군
    강아지 키우고 있는 소소한 개발자 성장기를 쓰는 일기장입니다

    티스토리툴바