2-2) 보이는 학생

김예지·2021년 8월 26일
0

문제

선생님이 N(1<=N<=1000)명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에 서부터 순서대로 주어질 때, 맨 앞에 서 있는 선생님이 볼 수 있는 학생의 수를 구하는 프로그 램을 작성하세요. (앞에 서 있는 사람들보다 크면 보이고, 작거나 같으면 보이지 않습니다.)
[입력설명]
첫 줄에 정수 N이 입력된다. 그 다음줄에 N명의 학생의 키가 앞에서부터 순서대로 주어진다.
[출력설명]
선생님이 볼 수 있는 최대학생수를 출력한다.

입력예제 1

8
130 135 148 140 145 150 150 153

출력예제 1

5


문제 풀이

코드

  • 1차원탐색으로 풀 수 있는 문제이다.
  • 첫번째 사람은 무조건 보인다.
  • max변수에 가장 큰 키를 저장해놓고, for문을 돌면서 max보다 더 큰 키의 학생이 있으면 그 학생의 키를 max에 넣고, answer++을 해준다.
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(arr){         
                let answer=1, max=arr[0]; //첫번째 사람 무조건 보임 
                for(let i=1; i<arr.length; i++){
                    if(arr[i]>max){
                        answer++;
                        max=arr[i];
                    }
                }
                return answer;
            }

            let arr=[130, 135, 148, 140, 145, 150, 150, 153];
            console.log(solution(arr));
        </script>
    </body>
</html>

결과

5

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

1개의 댓글

comment-user-thumbnail
2021년 9월 11일

9/10

답글 달기