<html>
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr) {
let answer, min;
answer = arr[0];
for (i = 0; i < arr.length - 1; i++) {
if (arr[i] < arr[i + 1]) min = arr[i];
if (answer > min) answer = min;
}
return answer;
}
let arr = [5, 7, 7, 8, 20, 9, 11];
console.log(solution(arr));
</script>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer, min=Number.MAX_SAFE_INTEGER;
for(let i=0; i<arr.length; i++){
if(arr[i]<min) min=arr[i];
}
answer=min;
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
</script>
</body>
</html>
"수를 비교한다"는 전제가 나왔을 때 특히 배열 구조에서 앞 번쨰 수와 뒷 번쨰 수를 비교한다는 편견으로 굳어져 있었던 것 같다. 모범 코드를 보기전에 작성한 코드를 보면 굳이 필요하지 않은 수를 두번씩 비교해가면서 1중으로 체크할 수 있는 것을 2중으로 체크하였다. <- 비효율적인 구조로 코딩한 것을 깨닫고, 1중으로 한번만 비교해도 된다는 것을 알았다.
처음 변수 선언시에 초기화 시킬때 Number.MAX_SAFE_INTEGER를 사용해서 초기화 시킬 수 있다는 점에 대해 알았고, 이 녀석은 보통 큰 정수형 임의의 수 하나로 초기화 시킬때에 사용한다고 한다. min이 필요할때는 이 랜덤 초기화 숫자가 너무 작으면 답이 바뀔수도 있기 때문에 안전한 큰 임의의 정수로써 초기화 시키는 것 이다. (아마 반대의 큰 수를 구하는 경우에는 MAX가 아닌 작은 MIN 숫자로 초기화 시킬 것 같다)