결론(맨 아래 참조)
reduce 함수의 누산기(accumulator)는 콜백 함수에서 반환된 최종 값을 "누적"하는 역할을 합니다.
이 누적 과정은
이전 리턴값(수, 문자열, 배열, 객체 모두 가능)을 저장해 놨다가 다음 current 내용을 반영해주는 것.
객체나 배열도 이전 리턴 값으로 저장이 되어 있다가 다음 내용을 누적하여 사용하는 것이 가능.
O(n^2)이 아니라 O(n)으로 한번만 돌면서 각 비교를 통해서 값을 구할 수 있도록했다.
이 단원 문제의 목적은 탐.색.이다.
<제출답안>
해설과도 비슷하게 했고. 본질은 저렇게 한번의 비교를 통한것이라서.. 그냥 문제읽고 자연스럽게 생각해낸건데 이런게 탐색의 과정이었구나. 시간 복잡도까지 알려주면서 가르쳐주니 내가 그냥 막 쓰고 있었던것 같다.
24.4.12 업데이트.
목적은 for문의 사용을 지향하는 코드 작성.
뭔가 좀 더 리액트에서 사용하는 듯한 코드가 되었다.
하지만 reduce를 사용해서 아래처럼 코드의 시간복잡도를 개선할 수 있다고 한다.

<ai의 reduce 메소드 사용 코드>
reduce 함수의 누산기(accumulator)는 콜백 함수에서 반환된 최종 값을 "누적"하는 역할을 합니다.
이 누적 과정은
이전 리턴값(수, 문자열, 배열, 객체 모두 가능)을 저장해 놨다가 다음 current 내용을 반영해주는 것.
객체나 배열도 이전 리턴 값으로 저장이 되어 있다가 다음 내용을 누적하여 사용하는 것이 가능.
initialValue Optional
callback의 최초 호출에서 첫 번째 인수에 제공하는 값(첫 return문이자, 축적되는 공간을 지정. []이나 0으로 보통 지정). 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용합니다. 빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생합니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
'🗃️javascript > 코테 프레임 문제' 카테고리의 다른 글
| 1-4 1부터 N까지의 합(24년 업데이트) (0) | 2023.09.15 |
|---|---|
| 3-1 회문문자열[투 포인터 방법론] (0) | 2023.09.15 |
| 2-1 큰 수 출력하기(24년 △)[map()에서의 continue, break ] (0) | 2023.09.14 |
| 1-3 연필 개수[Math 객체함수들 알아보기] (0) | 2023.09.14 |
| 1-2 삼각형 판별하기(24년 업데이트) (0) | 2023.09.14 |