article thumbnail image
Published 2022. 5. 31. 18:32
큰 수 출력하기
N(1<=N<=100)개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작
성하세요.(첫 번째 수는 무조건 출력한다)
▣ 입력설명
첫 줄에 자연수 N이 주어지고, 그 다음 줄에 N개의 정수가 입력된다.
▣ 출력설명
자신의 바로 앞 수보다 큰 수만 한 줄로 출력한다.
▣ 입력예제 1
6
7 3 9 5 6 12
▣ 출력예제 1
7 9 6 12
 

📌작성코드

<html>

<head>
  <meta charset="UTF-8">
  <title>출력결과</title>
</head>

<body>
  <script>
    function solution(arr) {
      let answer = []; //빈배열
      answer.push(arr[0]) //빈배열에 7을
      for (let i = 1; i < arr.length; i++) {
        if (arr[i] > arr[i - 1]) { //자신이 앞 수보다 커야함
          answer.push(arr[i]) //결과값에 배열을 집어넣음
        }
      }
      return answer;
    }

    let arr = [7, 3, 9, 5, 6, 12];
    console.log(solution(arr));
  </script>
</body>

</html>

어떤 배열이있고,  그 배열의 앞 수와 자신을 비교해서 앞 수보다 자신이 크면 그 값을 넣어주는 것이다.

예를들어 3과 9가 있으면 3보다 9가 더 크기때문에 9를 넣어주고 

9와 5가 있으면 5보다 9가 더 크기때문에 값을 넣지않고, 그냥 넘어가게 된다.

그런데 여기서!?

첫 수는 무조건 출력해야되니까

배열의 맨 첫번째 인덱스를 push()를 사용하여 빈배열에 첫번째 값으로 넣어줬다.

if 조건문에 arr[i] (자기자신)이 arr[i-1] (자신의 앞 수)보다 크다면? 

참이면 answer에 arr[i] 를 푸쉬해준다.

'알고리즘' 카테고리의 다른 글

[알고리즘 문제] 2-3번  (0) 2022.06.02
[알고리즘 문제] 2-2번  (0) 2022.06.02
[알고리즘 문제] 17번  (0) 2022.05.31
[알고리즘 문제] 16번  (0) 2022.05.31
[알고리즘 문제] 15번  (0) 2022.05.30
복사했습니다!