문제설명
- 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ numbers의 길이 ≤ 9
- 0 ≤ numbers의 모든 원소 ≤ 9
- numbers의 모든 원소는 서로 다릅니다.
👎🏻 풀이
function solution(numbers) {
var answer = 0;
for (let i = 0; i < 10; i++) {
if (!numbers.includes(i)) answer += i;
}
return answer;
}
문제풀이
.includes()
: 특정 문자열이 특정 문자열을 포함하는지 확인하는 메서드
- 특정 문자열을 구분하는 메서드가 필요할 것 같다! 라는 생각이 들어 구글링 해봤다.
- 문법
string.includes(searchString,length)
- searchString : 검색할 문자열의 필수 요소이다. 대소문자를 구별합니다.
- length : 검색을 시작할 위치입니다. 값이 없다면 전체 문자열을 대상으로 합니다. - true, false 반환
- 예
includes('z')
- !(논리 연산자) : not 과 같다
문제설명
- 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한사항
- absolutes의 길이는 1 이상 1,000 이하입니다.
- absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
- signs의 길이는 absolutes의 길이와 같습니다.
- signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
문제 이해
- inputdmfh 2개의 매개변수가 주어집니다.
- 정수배열:absolutes
- 부호: signs (true이면 양수, false이면 음수)
조건
- 반복문을 통해서 두 배열을 순회한다.
- signs은 양수면 true, 음수면 false
- 반복이 끝나면 모든 값 return
👎🏻 풀이
function solution(absolutes, signs) {
var answer = 0;
for (let i = 0; i < absolutes.length; i++) {
if (signs[i] == true) {
answer += absolutes[i];
} else {
answer -= absolutes[i];
}
}
return answer;
}
문제풀이
1.for(let i = 0; i < absolutes.length; i++)
- 문제 푸는게 오래걸렸던 이유 중 하나
i <= absolutes.length;
일 때 작동이 되지 않는다
- 왜... 냐면 이유를 알았다. .
length
는 1부터 1,2,3,4 이렇게 1부터 시작하고 i는 초기값이 0 이므로 =<
를 사용하게 되면 1234 01234 의 차이를 가지게 된다.
문제설명
- 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
👍🏻 풀이
function solution(arr) {
var answer = 0;
for (i = 0; i < arr.length; i++) {
answer += arr[i];
}
return answer / arr.length;
}
reduce 함수
- 찾아보다가 reduce함수가 좋다고 조원분도 추천해서 보내주셨다.
- reduce 함수는 연산문제 제외하고도 다른 곳에도 많이 쓰인다는데 아직 거기까진 이해할 수 없었다..ㅋㅋ!!
- 이와 같이 sort, every, some, find, findIndex, includes도 다 reduce로 구현 가능합니다. reduce가 이들 모두의 아버지였던 것입니다. ㅠㅠ 라면서 보내주신 reduce의 링크