행렬의 값을 더하는 방식은 정말 다양하다.
가장 간편하고 직관적인 방법은 Loop를 사용하는 것이다.
numbers를 숫자만 들어있는 행렬이라고 하면
let sum = 0;
for (let i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
위 같은 for loop로 행렬의 합을 구할 수 있다.
다른 방식은 reduce를 이용하는 것이 있다.
reduce는 배열의 요소 각각에 명령을 수행하게 해준다.
const sum = numbers.reduce((a, b) => a + b);
이 한줄이면 모든 요소에 더하기를 시행하여 행렬 합을 구할 수 있다.
마지막으로 신기한 방법이 있는데...
eval 은 문자열을 시행하는 신기한 메서드이다.
eval('2+2')을 하면 4를 반환하는 식이다.
const sum = eval(numbers.join("+"));
따라서 행렬의 원소에 +를 넣은 후 문자열 계산을 하는 방식으로도 행렬 합을 구할 수 있다.
하지만 MDN에서 eval은 해킹의 위험이 있으니 절대! 사용하지 말것을 명시하고있다.
그냥 이런 방법도 있구나 하고 넘어가는 것이 좋다...
'CS > Algorithm\Coding Test' 카테고리의 다른 글
javascript로 백준 문제 풀기-input (0) | 2021.11.30 |
---|---|
프로그래머스-구명보트 (0) | 2021.11.28 |
프로그래머스-음양 더하기 (0) | 2021.11.22 |
프로그래머스-내적 (0) | 2021.11.21 |
프로그래머스-기능개발 (0) | 2021.11.20 |