Javascript/문제 풀이

프로그래머스 5일차

아라라_ 2023. 5. 21. 23:09

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

Frederick Philips Brooks
Mythical Man-Month 저자
728x90

피자 나눠먹기 3

머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

function solution(slice, n) {
    var answer = 0;
    answer = Math.floor( (n - 1) / slice) + 1;
    return answer;
}

피자를 두 조각에서 열 조각까지 원하는 조각 수로 자르며, 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 주어졌을 때, n명의 사람이 최소 한 조각 이상의 피자를 먹기 위해 필요한 최소 피자 판 수를 계산하여 반환하는 함수입니다.

answer 변수를 0으로 초기화합니다. 이 변수는 필요한 최소 피자 판 수를 저장하는 용도로 사용됩니다.
(n - 1) / slice를 계산한 후 소수점 이하를 버림 처리합니다. (Math.floor 함수를 사용하여 소수점 이하를 버립니다.)
(n - 1) / slice는 n명의 사람이 최소 한 조각 이상의 피자를 먹기 위해 필요한 최소 피자 판 수를 계산합니다.
n - 1을 하는 이유는 피자 판을 나눠주기 위해 한 판은 이미 존재하기 때문입니다. 따라서, 실제로 필요한 판 수는 (n - 1) / slice가 됩니다.
slice로 나눈 결과를 소수점 이하를 버리면, 필요한 최소 피자 판 수가 됩니다.
구한 값에 1을 더하여 answer에 저장합니다. 이를 통해 최소 피자 판 수를 계산합니다.
answer 값을 반환합니다.

 

 

배열의 평균값

function solution(arr) {
  // reduce 메서드를 이용하여 배열의 숫자들을 더해준다.
  const sum = arr.reduce((acc, cur) => acc + cur);

  // 수의 합과 배열 수의 갯수를 나누어 평균 값을 구하고 리턴한다.
  return sum / arr.length;
}

주어진 배열 arr의 숫자들을 모두 더한 후, 숫자들의 개수로 나누어 평균 값을 구하는 함수입니다. 코드의 동작은 다음과 같습니다:

reduce 메서드를 사용하여 배열의 숫자들을 더해줍니다. reduce 메서드는 배열의 각 요소를 순회하면서 누적값을 계산하는 함수를 적용합니다.
reduce 메서드의 첫 번째 매개변수는 누적값을 나타내는 acc이며, 두 번째 매개변수는 현재 요소를 나타내는 cur입니다.
acc + cur은 현재까지의 누적값에 현재 요소를 더하는 연산을 수행합니다.
이를 통해 배열의 모든 숫자들을 더한 결과가 sum 변수에 저장됩니다.
sum 변수를 배열의 길이로 나누어 평균 값을 계산합니다. arr.length는 배열의 요소 수를 나타냅니다.
sum / arr.length은 배열의 숫자들의 합을 숫자들의 개수로 나눈 평균 값을 계산합니다.