제한사항
arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
//프로그래머스 평균구하기 문제
//평균은 배열안에 담긴 숫자를 모두 더해주고 배열안의 숫자의 갯수만큼 나누어준다
function solution(arr) {
let length = arr.length //배열 안의 숫자 갯수를 구해준다
let answer = arr.reduce((a, c) => {
return a + c
}) //reduce 메소드를 사용하여 배열안의 숫자들을 모두 더해준다
return answer / length //평균을 구하기 위해 배열의 숫자를 더해준것에
//숫자의 갯수 만큼 나누어 준다
}
문제 설명
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
제한 조건
x는 1 이상, 10000 이하인 정수입니다.
function solution(x) {
let sum = 0 // 자릿수의 합의 초기 값을 0으로 설정해주고
let sliceX = String(x).split('') // x를 문자열로 만들어준뒤 splite 메소드를 사용하여 잘라줍니다 숫자를 문자열로 바꾸고 잘라주어야 각 자릿수의 합을 구할 수 있습니다
for(let i = 0 ; i < sliceX.length ; i++){
sum += Number(sliceX[i]) // 잘라준 문자열의 길이만큼 반복해주고 다시 Number메소드를 사용하여 숫자로 바꿔준뒤에 잘라준 문자열의 인덱스 i를 반복적으로 더해줍니다
}
return (x % sum === 0) ? true : false; // 만약 x% sum의 나머지가 0이라면 true 그렇지 않다면 false 를 리턴해줍니다.
}