Pair Coding Interview-03

BenomadWill·2020년 3월 30일
0

Pair Coding Interview

목록 보기
4/7

나누어 떨어지는 숫자 배열

제시 문제

모의고사

링크텍스트

푼 문제

나누어 떨어지는 숫자 배열

링크텍스트

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

// 제한사항
// arr은 자연수를 담은 배열입니다.
// 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
// divisor는 자연수입니다.
// array는 길이 1 이상인 배열입니다.
// 입출력 예
// 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]을 리턴합니다.

// 분석
// 1. 주어진 숫자 배열을 divisor로 나누어 떨어지는 숫자가 담긴 배열을 리턴
// 2. 포인트 : 반복문을 사용해서 결과를 나타내는 것

// 수도 코드
// 1. 결과를 담을 빈 배열
// 2. 반복문 : 주어진 숫자 배열의 길이 만큼
// 3. 나누어 떨어지는 숫자를 결과 배열에 담아주는 식
// 4. 결과 배열의 길이가 0일 경우에 대해서 -1

function solution(arr, divisor) {
  var answer = [];
  // 오름차순 배열을 시킨 새로운 배열
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] % divisor === 0) {
      answer.push(arr[i]);
    }
  }
  if (answer.length === 0) {
    return [-1];
  }
  return answer.sort();
}

부족한 점

  1. 함께 진행했던 동기분이 굉장히 침착한 분이셨는데, 그에 비해 내가 너무 말이 많고, 말을 많이 더듬고, 정리 안된 말들을 많이 했던 것 같다
  2. 말을 하는 건 좋지만 정리 된 언어를 구사해야겠다
  3. 생각보다 쉬운 문제가 주어져서 쉽게 답을 구했지만 답을 구하지 못했을 경우에는 어떻게 행동할 것인지에 대해서 생각해봐야겠다

후기

말이 많고 더듬는 사람과 침착하고 정확한 언어를 구사하는 사람 중에 너라면 누구를 뽑겠니?

여기까집니다
그럼 이만

profile
BenomadWill

0개의 댓글