티스토리 뷰
짝수의 합
function solution(n) {
let tot;
for (let i = 1; i <= n; i++) {
if(i%2 == 0){
tot+=i
console.log(i);
}
}
return tot;
}
console.log(solution(10));
여기서 NaN이 뜬이유
숫자로 초기화를 안해줬기 때문
이런 곳에서 부족함이 들어난다.
당연한걸 안했잖아
초기화 공부 시작
변수
자료형을 담는 메모리공간이다. 담아야 하는 값에 따라 그 크기가 달라진다.
자바스크립트는 변수 선언할 떄 자료형을 지정하지 않기 때문에 초기화 하는 값에서 최초 메모리 공간이 설정되는데
이 때 초기화를 잘해주어야 한다.
정확한 자료형으로 메모리 공간을 확보한다는 의미이기 때문이다.
// 숫자 타입 초기화
let a = 0;
// 문자 타입 초기화
let b = null;
// 배열 타입 초기화
let c = [];
// 객체 타입 초기화
let d = {};
배워야 할 부분
function solution(n) {
var answer = 0;
for(let i=2 ; i<=n ; i+=2)
answer += i;
return answer;
}
반복문을 2개씩 늘릴수 있다는 생각은 왜 항상 못하지
왜 1씩 늘어나고 1이나0부터 시작해야하고 1씩 늘어나야 된다고 생각하지..
여기서 하나 또 배워간다
고정관념에 틀어박혀 있으면안된다..
배열의 평균값(소수점 .0또는 .5로 나타내기)
function solution(numbers) {
let tot = 0;
for (let i = 0; i < numbers.length; i++) {
tot +=numbers[i]
}
return (tot/numbers.length).toFixed(1);
}
console.log(solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));
tofixed
- 숫자를 고정 소수점 표기법으로 표시합니다.
- 소수점 이하가 길면 숫자를 반올림하고, 짧아서 부족할 경우 뒤를 0으로 채울 수 있습니다.
배워야 할 부분
function solution(numbers) {
var answer = numbers.reduce((a,b) => a+b, 0) / numbers.length;
return answer;
}
reduce()
- 배열의 각 요소에 대해 주어진 reducer함수를 실행하고, 하나의 결과값을 반환한다.
- reduce함수는 순서대로 네 개의 인자를 가진다.
• 누산기(acc)
• 현재값(cur)
• 현재 인덱스(idx)
• 원본 배열(src))
- reduce함수의 반환값은 누산기에 할당되고,
누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 된다.
- initialValue
• callback의 최초 호출에서 첫 번째 인수에 제공하는 값이다.
• 위에서 보면 a+b,다음이 initailValue를 지정하는 곳이다.
• 초기 값을 제공하지 않으면 배열의 첫 번째 요소를 사용한다.
• 빈 배열에서 초기값없이 reduce()를 호출하면 오류가 발생합니다.
'개발일지 > 문제 풀이' 카테고리의 다른 글
가운데 글자 가져오기(substr, substring) (0) | 2024.01.19 |
---|---|
없는 숫자 더하기 (0) | 2024.01.18 |
프로그래머스 핸드폰 번호 가리기 (0) | 2024.01.15 |
x만큼 간격이 있는 n개의 숫자 (0) | 2024.01.10 |
프로그래머스 문자열추출 문제 풀이.. (1) | 2024.01.07 |