큰 수 출력하기, 보이는 학생

이선민·2021년 11월 28일
0

큰 수 출력하기

N(1<=N<=100)개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작 성하세요.(첫 번째 수는 무조건 출력한다)

  • 입력예제
    6 (자연수 N)
    7 3 9 5 6 12 (N개의 정수)
  • 출력예제
    7 9 6 2 (자신의 바로 앞 수보다 큰 수만 한 줄로 출력)
function solution(arr) {
        let answer = [];
        answer.push(arr[0]); // 첫 번째 수는 무조건 출력
        for (let i = 0; i < arr.length; i++) {
          // arr[2] -> 9, arr[2-1] -> 3, 9 > 3 true
          if (arr[i] > arr[i - 1]) answer.push(arr[i]);
        }

        return answer;
      }

      let arr = [7, 3, 9, 5, 6, 12];
      console.log(solution(arr));

보이는 학생

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

  • 입력예제 (첫 줄에 정수 N이 입력된다. 그 다음줄에 N명의 학생의 키가 앞에서부터 순서대로 주어진다.)
    8
    130 135 148 140 145 150 150 153
  • 출력예제 (선생님이 볼 수 있는 최대학생수를 출력한다.)
    5
function solution(arr) {
        let answer = 1, // 맨 앞 학생은 무조건 보이기 때문에 +1
          max = arr[0];

        for (let i = 1; i < arr.length; i++) {
          // i보다 앞에 있는 수 중에서 제일 큰 값과 비교하여 max 보다 크면 true
          if (arr[i] > max) {
            answer++;
            max = arr[i];
          }
        }

        return answer;
      }

      let arr = [130, 135, 148, 140, 145, 150, 150, 153];
      console.log(solution(arr));

0개의 댓글