1-5) 최솟값 구하기

김예지·2021년 8월 25일
0

문제

7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요.
[입력설명]
첫번째 줄에 7개의 수가 주어진다.
[출력설명]
첫번째 줄에 가장 작은 값을 출력한다.

입력예제 1

5 3 7 11 2 15 17

출력예제 1

2


문제 풀이

예습 이론

  • min 초기화하는 방법 2가지
    방법 1) 인덱스 0부터 for문
    최소값 변수 초기값은 큰 숫자로 지정해주는 것이 좋다. (min=Number.MAX_SAFE_INTEGER:안정적인 큰 숫자로 초기화)
    *최대값을 구할 때는 min=Number.MIN_SAFE_INTEGER:안정적인 작은 숫자로 초기화하면 된다.
    방법 2) 인덱스 1부터 for문
    최소값 변수(min)초기화를 배열 0번으로 지정한다. (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

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

방법 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>

코드3

자바스크립트의 내장함수인 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

profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

2개의 댓글

comment-user-thumbnail
2021년 9월 11일

9/10

답글 달기
comment-user-thumbnail
2022년 11월 23일

11/23

답글 달기