백준 5597) 과제 안 내신 분..?

jihye_son·2022년 10월 31일
0

jihye's Algorithm

목록 보기
7/14

과제 안 내신 분..?

문제

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.
교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.

입력

입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다.

출력

출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를 출력한다.

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(arr){
                let answer=[],tmp =1
                
                let len = arr.length
                
                for( let i =1 ; i< len ; i++){
                    if(arr.indexOf(i) === -1){
                        answer.push(i)
                    }
                }
            }
            
            let a=[9,30,6,12,10,20,21,11,7,5,28,4,18,29,17,19,27,13,16,26,14,23,22,15,3,1,24,25];
            console.log(solution(a));
        </script>
    </body>
</html>

문제풀이

for 로 arr.length 만큼 돌린다음
indexOf() 메소드를 사용해서 없는 원소를 출력해줬당

arr.indexOf(i) 에서 index가 없다고 나오면 ( 해당 원소가 없다고 )
-1을 출력하기 때문에 -1이 출력되는 원소를 answer에 넣어준 후 출력!

profile
뽀짝뽀짝 나는야 FE 개발자

0개의 댓글