오늘의 학습 키워드
공부한 내용 본인의 언어로 정리하기
class Solution {
public double solution(int[] arr) {
double sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
double result = sum / arr.length;
return result;
}
}
오늘의 회고
처음 든 생각은 평균을 구하려면 일단 배열의 값을 모두 더해야겠다고 생각했다. 그래서 배열의 합을 구하는 방법을 알아보았다.
for문
을 사용하면 배열의 총 길이의 횟수만큼 반복해서 총 합계를 구할 수 있다는 것을 알게되었다,
class Solution {
public double solution(int[] arr) {
int sum = 0;
//for문 사용
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
그리고 총 합계에 총 길이의 갯수를 나누면 평균이 나올 것이므로 그 값을 구하기 시작했다.
class Solution {
public double solution(int[] arr) {
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
result = sum / arr[arr.size]; //size는 Collection의 크기
return result;
}
}
여기서 size
가 맞는것인가?부터 의문이 들어 검색을 하였고 size
는 Collection
의 크기이고 배열의 크기는 length
라고 하였다. 그래서 arr[arr.length]
로 수정하였다.
class Solution {
public double solution(int[] arr) {
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
result = sum / arr[arr.length]; //배열의 크기는 length
return result;
}
}
arr[arr.length]
는 배열의 길이가 아닌 arr[]
의 index
의 크기였고 인덱스는 시작이 arr[0]
부터 이기 때문에 결국에는 index
의 크기로도 맞지 않았다.
그래서 arr[]
의 길이를 구해야 하므로 arr.length
로 수정 하였다.
class Solution {
public double solution(int[] arr) {
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
result = sum / arr.length; //arr[arr.length]는 인덱스의 크기
return result;
}
}
테스트 결과 결과값이 int
로 나와서 통과가 실패하였다. 그래서 총 합계인 sum
을 double
로 변경해 주었다.
class Solution {
public double solution(int[] arr) {
double sum = 0; //int 값은 소수점자리가 없이 버림처리 됌
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
result = sum / arr.length;
return result;
}
}
이제는 result
부분에서 오류가 났고 result
에도 변수 타입이 필요하다는 것을 깨달았다.
class Solution {
public double solution(int[] arr) {
double sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
double result = sum / arr.length; //result에도 변수 타입이 필요
return result;
}
}
테스트 결과가 통과되어 제출을 하여 통과되었고 완성되었다.
공부를 하면서 더욱 향상된 프로그래밍을 위해서는 컬렉션을 사용해야한다. 라는 말을 보았고 다른 방법으로도 풀어봐야겠다고 생각하였다.
내일은 새로운 방법으로 푼 방법을 추가를 해야겠다.
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12944