Javascript/문제 풀이

프로그래머스 2일차

아라라_ 2023. 5. 18. 18:37

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

Frederick Philips Brooks
Mythical Man-Month 저자
728x90

두 수의 나머지

function solution(num1, num2) {
    var answer = Math.floor((num1 / num2)*1000);
    return answer;
}

num1을 num2로 나눈 후 그 결과에 1000을 곱한 값을 소수점 이하를 버리고 반환합니다.

num1 / num2를 계산합니다. 이는 num1을 num2로 나눈 실수값을 반환합니다.
계산된 값을 1000으로 곱합니다.
Math.floor() 함수를 사용하여 소수점 이하를 버립니다. 이렇게 하면 최종 결과는 정수가 됩니다.
최종 결과를 answer 변수에 할당합니다.
answer 값을 반환합니다.
즉, 이 함수는 num1을 num2로 나눈 후에 그 결과를 1000으로 곱한 값을 정수로 변환하여 반환하는 것입니다.

 

 

두 수의 중앙값

function solution(array) {
  array.sort((a, b) => a - b);
  const middleIndex = Math.floor(array.length / 2);
  if (array.length % 2 === 1) {
    return array[middleIndex];
  } else {
    return (array[middleIndex - 1] + array[middleIndex]) / 2;
  }
}

array를 오름차순으로 정렬합니다. (sort 메서드를 사용하고 비교 함수를 제공하여 정렬 순서를 지정합니다.)
array의 길이를 2로 나눈 후 소수점 이하를 버립니다. 이렇게 구한 값은 중앙 인덱스입니다. (예를 들어, 길이가 5인 배열의 중앙 인덱스는 2입니다.)
array의 길이가 홀수인 경우 (array.length % 2 === 1), 중앙 인덱스에 해당하는 원소를 반환합니다.
array의 길이가 짝수인 경우 (array.length % 2 === 0), 중앙 인덱스와 그 앞 인덱스에 해당하는 두 원소를 더한 후 2로 나눈 값을 반환합니다. 이는 중앙에 위치한 두 원소의 평균값을 의미합니다.