백준 5597번 - 과제 안 내신 분..? (풀이중)

이설군·2022년 6월 27일
0

백준

목록 보기
49/52

문제

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.

교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.

입력

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

출력

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

예제 입력 1

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

2
8

예제 입력 2

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

예제 출력 2

2
8

제출

맞은 제출 1

오답노트

틀린 제출 1 (런타임 에러)

var x = [1...30]
for _ in 1...28 {
	var i = Int(readLine()!)!
    x.remove(at: i-1)
}
for j in x {print(j)}

가감법을 쓴건데 런타임 에러가 났다. 구글링 했을때 나오는게 딱 하나밖에 없어서; 반대로 코딩해보기했다. 미리만들어둔거를 지우는게 아니라 있는지 확인하고 담으면되는거지.

틀린 제출 2 (컴파일 에러)

for i in 1...30 {
	if x.contains(Int(readLine()!)!) {
    	continue
    }else {
    	print(i)
    }
}

될줄 알았는데 안되네 ㄴㅇ0ㅇㄱ!!!!

for i in 1...30 {
	if !(x.contains(Int(readLine()!)!)) {
    	print(i)
    }
}

줄일만한게 보여서 한번더 줄여보았다. 음...어디서 문법이 빵꾸가 난 모양이다 ㅎㅎ;
첫번째 contains은 안에 문자가 들어가야한다? (컴파일 에러)
집가서 다시 해봐야겠당...ㅎㅎ;

숏코딩

숏코딩 예제 1

profile
티끌 모아 태산. 내가 가는 길이 옳은 길이라 믿으며 최선을 다해 걷는다.

0개의 댓글