본문 바로가기

■ 알고리즘 문제 풀이/오답 노트

지레짐작하지 말 것

▶문제 ( [BOJ] 백준. 2891 카약과 광풍 )

2890번을 보면 알겠지만, 상근이는 카약 대회를 개최했다. 그런데, 갑자기 엄청난 강풍이 경기장에 불었고, 일부 카약이 부서졌다. 경기는 5분 안에 시작해야 하는 상황이다.


다행히 일부 팀은 혹시 모를 사태에 대비해서 카약을 하나 더 경기장에 들고 왔다. 카약은 매우 무겁고 운반하기 어렵다. 따라서, 자신의 바로 다음이나 전에 경기하는 팀에게만 카약을 빌려주려고 한다. 즉, 팀 4는 여분의 카약을 3이나 5에게만 빌려줄 수 있다. 또, 카약을 하나 더 가져온 팀의 카약이 손상되었다면, 여분의 카약으로 경기에 출전하게되고, 이 카약은 다른 팀에게 빌려줄 수 없다.


카약이 부서진 팀과 하나 더 가져온 팀이 주어진다. 카약을 적절히 빌렸을 때 출발하지 못하는 팀의 최솟값은 몇 팀인지 구하는 프로그램을 작성하시오.


[입력]

첫째 줄에 팀의 수 N, 카약이 손상된 팀의 수 S, 카약을 하나 더 가져온 팀의 수 R이 주어진다. (2 ≤ N ≤ 10, 1 ≤ S, R ≤ N)

둘째 줄에는 카약이 손상된 팀의 번호가 주어진다. 팀 번호는 중복되지 않는다.

셋째 줄에는 카약을 하나 더 가져온 팀의 번호가 주어진다. 팀 번호는 중복되지 않는다.


[출력]

첫째 줄에 출발을 할 수 없는 팀의 최솟값을 출력한다.



▶실수한 부분과 보완점


 문제의 입력을 설명하는 부분에서 굵은 글씨로 되어있는 '팀 번호는 중복되지 않는다'라는 표현을 보고

[카약이 손상된 팀의 번호]

:    1 3 5

[카약을 하나 더 가져온 팀의 번호]

:    1 3 4

이런 식으로 중복될 수 없다는 것으로 이해하여 오류를 찾는 데 많은 시간을 허비하였다.


팀 번호가 중복되지 않는다는 문장을 봤을 때,

[손상된 팀의 번호]

:    1 1 1 1 

위와 같이 손상된 팀의 번호가 중복되지 않아야 한다는 것은 너무 당연한 것이라고 생각하여 문제를 잘못 이해하게 된 것이다.

실수를 유도하기 위해 적어 놓은 문장인지.. 내가 바보인 건지.... 모르겠다.


 집중력 있게 문제를 정독하면서 제대로 이해하자.

'당연히 그렇겠지'라고 생각하면서 가볍게 넘어가지 말고, 어떤 경우가 가능한 경우이고 어떤 경우가 불가능한 경우인지를 제대로 파악하여 지레짐작으로 인한 오류를 범하지 않도록 주의하자.