joyful
[Javascript] 5597번 과제 안 내신 분..? - 백준코딩 본문
문제출처:https://www.acmicpc.net/problem/5597
문제
X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.
교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.
입력
입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다.
출력
출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를 출력한다.
예제 입력
3
1
4
5
7
9
6
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
4
5
7
9
6
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
예제 출력
2
8
풀이
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n').map(Number);
//['3', '1', '4', '5', '7', '9', '6', '10','11', '12', '13', '14','15', '16', '17', '18','19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30']
let answerArr = ""; //정답을 담을 배열은 빈 값으로
for(let i = 0; i < 30; i++) {//출석번호 30개를 반복문으로 돌린다. 0~29
if(input.indexOf(i + 1) < 0) {
//각 출석번호 + 1이 0보다 작을 때를 찾는다. 즉, 예제에 없는 수를 찾는다. 없으면 -1이라 0보다 작기 때문
answerArr += i + 1 + "\n";
//scope를 0부터 시작했으니 i 값에 +1을 해야 출석번호가 나올 것
}
}
console.log(answerArr) //i= 1, 7
TIL
indexOf()
- 내장함수
- 문자열에서 원하는 문자열을 검색하여 찾거나, 배열에서 원하는 특정 배열값의 존재여부 등을 확인할 때 사용
- 배열의 경우 특정 요소를 찾으면 위치값을 index로 반환
- 특정 요소가 존재하지 않으면 -1을 반환
'백준코딩' 카테고리의 다른 글
[Javascript] 3052번 나머지 - 백준코딩 (2) | 2023.08.03 |
---|---|
[Javascript] 2562번 최댓값 - 백준코딩 (2) | 2023.07.31 |
[Javascript] 10813번 공 바꾸기 - 백준코딩 (0) | 2023.07.26 |
[Javascript] 10810번 공 넣기 - 백준코딩 (1) | 2023.07.20 |
[Javascript] 준비단계 - node.js 입출력 방법과 오류 해결법 - 백준코딩 (0) | 2023.06.10 |