7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요.
[입력설명]
첫번째 줄에 7개의 수가 주어진다.
[출력설명]
첫번째 줄에 가장 작은 값을 출력한다.
5 3 7 11 2 15 17
2
min=Number.MAX_SAFE_INTEGER
:안정적인 큰 숫자로 초기화)min=Number.MIN_SAFE_INTEGER
:안정적인 작은 숫자로 초기화하면 된다.min=arr[0]
)Math.min(a, b, c)
: a, b, c 중 최소값 리턴하는 함수Math.max(a, b, c)
: a, b, c 중 최댓값 리턴하는 함수<script>
arr=[1, 2, 3];
Math.min(...arr); //arr의 원소를 전개함(Math.min(arr[0], arr[1], arr[2])
</script>
1) 인덱스 0부터 for문
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer, min=Number.MAX_SAFE_INTEGER; //Number.MAX_SAFE_INTEGER: 안정적인 큰숫자로 초기화 (최솟값변수 min 초기값으로 큰값을 넣어주면 좋음)
//전체 배열을 탐색
for(let i=0; i<arr.length; i++){
if(arr[i]<min) min=arr[i]; //i=0일땐 if문 무조건 참이 됨(min 초기값은 매우 크기때문)
}
answer=min;
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
</script>
</body>
</html>
방법 2) 인덱스 1부터 for문
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer, min=arr[0];
//인덱스 1부터 탐색
for(let i=1; 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>
자바스크립트의 내장함수인 Math.min
과, 전개연산자 ...
을 사용해서 문제를 풀 수 있다.
<!--보충-->
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer=Math.min(...arr); //최솟값 구하는 함수
//console.log(Math.max(...arr)); //최댓값 구하는 함수(test)
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
</script>
</body>
</html>
2
9/10