Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[문제] 배열에서 합계 계산하기. #11

Closed
Markers opened this issue Aug 28, 2021 · 4 comments
Closed

[문제] 배열에서 합계 계산하기. #11

Markers opened this issue Aug 28, 2021 · 4 comments
Labels

Comments

@Markers
Copy link
Collaborator

Markers commented Aug 28, 2021

질문

1 에서 시작하여 10 까지의 자연수 10개가 배열로 되어있다고 했을때, 배열 전체의 합을 구하는 방법!

일반적으로 반복문(for)를 사용할텐데, 반복문을 포함해서(혹은 사용하지 않고) 구할 수 있는 방법을 생각해봅시다.

관련 챕터

27장 배열 / 8장 제어문

참고

@Markers
Copy link
Collaborator Author

Markers commented Aug 28, 2021

단순 생각으로

  1. 반복문(for, for each) 사용
  2. 배열의 내장함수 사용
  3. 재귀함수 사용

생각됩니다만, 또 다른 방법이나 유사방법이지만 꼼수라던지 팁이 있으면 알려주세요~!

@live-small
Copy link
Owner

1에서 시작해 10까지의 자연수로 이루어진 배열처럼, 연속된 수의 합계를 구한다면
배열의 양 끝을 더한 값 * 배열의 길이 / 2 로 구하는 방법도 있습니다.
연속된 숫자배열에서 배열의 양 끝을 더한 값은 동일하니까요. (1 + 10 | 2 + 9 | 3 + 8... )

const num = [1,2,3,4,5,6,7,8,9,10];
const sum = (num[0] + num[num.length-1]) * (num.length / 2); 

@Markers
Copy link
Collaborator Author

Markers commented Aug 28, 2021

@live-small
아 수학적으로 아예 풀어버리는 방법도 있네요..ㅋㅋ
제가 생각을 10개의 배열속에 있는 요소들의 상관관계(1씩 증가하는 숫자)들을 배제할 경우만 생각해서...ㅋ
만약 상관관계를 알 수 없을 경우에는 저 3가지 방법 말곤 더 없겠죠?

@live-small
Copy link
Owner

네. 상관관계를 알 수 없을 땐, 요소에 직접 접근해서 하나하나 더하는 방법밖엔 없을 거 같아요.
말씀하신대로 for문(for, for of, forEach), API (reduce) 등이 생각나네요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants