작성
·
155
0
배열 문제와풀이 2번 강의
12분 경에 있는 ex7 문제의 경우
total과 average를 지역변수 각각 하나를 이용해 풀었는데,
입력 for문과 출력 for문을 반복시에 total과 average값이 변화할텐데, Run 기능을 통해 결과를 확인 시에 total, average 값이 각각의 학생마다 제대로 나옵니다.
질문1: 출력 파트에서 sout " 1번학생의 총점: 100, 평균: 33.3" 을 실행해놓고, 다음 2~4번 학생의 total과 average값을 불러오는 것인가요? 코드를 잘못짜게 되면total과 average 값이 reset되어 모든 학생의 총점과 평균이 똑같이 나올 가능성도 있나요? 주의해야 할 점이 있으면 알려주세요.
질문2: total과 average를 배열 함수를 사용해서 문제를 풀이하였는데, 위의 경우처럼 지역변수로 해결할수 있으므로 이는 불필요한 메모리 낭비라고 생각하면 되나요? 배열함수를 사용 해야 할때도 있을까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
밝은 늑대님의 질문에 대해 제가 찾은 정보는 다음과 같습니다.
total
과 average
값이 학생마다 제대로 계산되는 이유: total
과 average
값을 관리하는 방법에 대한 의문이신 것 같습니다. 배열 문제와풀이 2 ArrayEx7 질문..에서 설명한 것처럼, 각 학생별로 total
값은 학생의 점수를 누적해서 계산하기 전에 0
으로 초기화되어야 합니다. 이 초기화 작업 덕분에 각 학생별로 총점이 올바르게 계산됩니다. average
는 이 총점값을 바탕으로 계산되므로, 각 학생별로 올바른 평균값이 나옵니다. 따라서, 학생별로 total
과 average
값을 올바르게 출력하기 위해서는 총점과 평균을 계산하기 전에 total
을 0
으로 초기화하는 것이 중요합니다. 이렇게 초기화하지 않을 경우, 이전 학생의 점수에 현재 학생의 점수가 누적되어 잘못된 결과를 얻게 될 것입니다.
지역변수와 배열 함수의 메모리 사용에 대하여: 지역변수만 사용해서 문제를 해결한 경우와 배열 함수를 사용한 경우의 메모리 사용에 대한 귀하의 궁금증은 초기화 선언 관련 질문과 관련이 있을 수 있습니다. 이 경우, 메모리 절약 보다는 코드의 명확성 및 유지보수의 편의성이 더 중요한 측면입니다. 배열을 사용하여 total
과 average
를 계산하는 경우는 학생별, 과목별 같은 다양한 데이터를 관리해야 할 때 유용할 수 있습니다. 비록 변수 사용으로 인한 미미한 메모리의 낭비가 있을 수 있지만, 복잡한 데이터 구조를 다루는데 있어서 코드의 가독성과 유지보수성을 높일 수 있습니다. 따라서 상황에 따라 적절한 데이터 구조를 선택하는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.