최소, 최대(10818) - JS

박정호·2022년 2월 2일
0

BAEKJOON

목록 보기
30/57
post-thumbnail

가장 먼저 생각한 방법입니다.

Function.prototype.apply()

  • 함수가 실행될 때 내부 콘텍스트의 this는 객체 자신 또는 window 객체를 가르킵니다.
  • 이때 this가 가리키는 대상 바꾸는 방법 중 하나입니다.
  • apply()는 인자로 배열(또는 유사 배열 객체)로 제공되는 arguments로 함수를 호출합니다.
    참고: https://rutgo-letsgo.tistory.com/96

Math.min.apply, Math.max.apply를 이용하여 배열 내의 최소값, 최대값을 구하였습니다.

다음 방법은 for, if 문을 이용하여 배열값들끼리 크기를 비교하여 최소값, 최대값을 구하는 것입니다. 주어진 숫자들의 개수를 첫번째 정수로 주는 것을 보아, 배열의 길이를 이용하여 나타내는 방법으로 알맞는 것 같습니다.

우선, 숫자의 크기를 if문을 통해 비교하기 때문에, 배열의 값을 정수화 시켜주기 위해, map을 이용해 arr 변수에 값을 할당합니다.
for문은 배열의 길이인 arrlen만큼 반복하고, min, max의 초기값을 20을 시작으로, 하나씩 비교하여 가장 작은 값과 가장 큰 값을 구하게 됩니다.

ex) 주어진 값: 20 10 35 30 7
i=1 일 때
arr[1] = 10 입니다. 따라서, min > arr[i]가 만족하고, min 값은 10이 됩니다. 그렇게 반복하여 10보다 작은값인 7값까지 비교하면, min값에 7이 할당됩니다.
max도 동일한 과정을 거쳐 35가 할당됩니다.
-> 최소값: 7, 최대값 35

profile
기록하여 기억하고, 계획하여 실천하자. will be a FE developer (HOME버튼을 클릭하여 Notion으로 놀러오세요!)

0개의 댓글