큰 수 출력하기

아기코딩단2·2022년 7월 30일
0

알고리즘

목록 보기
1/10

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

문제의 요지는 자신의 바로 앞수 보다 큰 수만 출력하면 됨
ex)
7 이랑 3 비교 => 7 출력
9 이랑 5 비교 => 9 출력
.
.
.

<!--my solution-->
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과 - 섹션2 - 1 - 큰 수 출력하기</title>
    </head>
    <body>
        <script>
            function solution(nums) {
                let answer = []; // 빈배열 준비
                answer.push(nums[0]);
                // 처음에 기준이 되는 0번째 인덱스 push 해줌
                for (let i = 1; i < nums.length; i++)
                { // 1번 인덱스부터 돌리는 건 잘했음
                    if (nums[i] > nums[i - 1]) { // 첫 인덱스랑 비교해서 3 > 7이 아니니까 
                        // push 안해주고 다음 인덱스는 2이고 값은 9니까 9 > 3 이니까 push해줌
                        // 명심해야할 점은 첫값을 기준으로 돌린다.
                        answer.push(nums[i]);
                    }
                } return answer;
            }
            const nums = [7, 6, 8, 5, 9, 12, 10];
            // 예상 답은 7 8 9 12
            console.log(solution(nums));
        </script>
    </body>
</html>

잘나온다 ㅇㅇ 어려웟다;; 그래서 주석을 많이 달앗는지도?!!? nums[i -1] 이 부분을 개념 익히는 데 좀 걸렸다. 1과 0번째 인덱스의 비교하는 거


<!--teacher's solution-->
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(arr){         
                let answer=[];
                answer.push(arr[0]);
                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>

if 문 간지나게 쓴다고 {} 안쓰지 말자 가독성 저하 & 코드의 예측성 떨어질 수 있음

profile
레거시 학살자

0개의 댓글