배열을 입력받아 가장 큰 요소를 리턴해야 한다.
인자 : arr
number타입의 정수로 구성된 배열
number 타입을 리턴해야 한다.
처음 문제를 보고 생각한 것들은
- 수를 하나 잡아 둘 변수가 필요하겠다.
- 잡아 둔 수와 나머지 수들을 비교해야하니 반복문이 필요하겠다.
라 생각하며 코드를 작성했다.
function getLargestElement(arr) { let largestElement = ? for(let i = 0; i < arr.length; i++){ largestElement; } }
- 잡아둘 수는 변수로 지정했는데 나머지 수들을 어떻게 비교하지?
- 잡아둔 수도 바뀌고 비교할 수도 바뀌어야 되는데
function getLargestElement(arr) { let largestElement = arr[0]; for(let i = 0; i < arr.length; i++){ for(let n = 0; n < arr.length; n++){ if( arr[i] < arr[n]){ largestElement = arr[n]; } } } return largestElement; }
for문을 이중으로 만들고 조건문을 달았다.
출력 테스트는 모두 통과되었다.
function getLargestElement(arr) { let max = arr[0]; for (let el of arr) { if (el > max) { max = el; } } return max; }
- 배열에서 for of 문을 사용하면 더 간단하고 가독성도 올라간다.
- 2가지 인덱스가 같은 양상으로 반복된다면 한 for문으로 표현할 수 있다.