[JS] 배열을 입력받아 가장 큰 요소를 리턴한다.

윤태영 | Taeyoung Yoon·2021년 11월 27일
0

Organizing

목록 보기
2/5
post-thumbnail

문제

배열을 입력받아 가장 큰 요소를 리턴해야 한다.

입력

인자 : 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문을 이중으로 만들고 조건문을 달았다.
출력 테스트는 모두 통과되었다.

reference 풀이

function getLargestElement(arr) {
  let max = arr[0];
  for (let el of arr) {
    if (el > max) {
      max = el;
    }
  }
  return max;
}

개선점

  • 배열에서 for of 문을 사용하면 더 간단하고 가독성도 올라간다.
  • 2가지 인덱스가 같은 양상으로 반복된다면 한 for문으로 표현할 수 있다.

0개의 댓글