SMH
면접 대비시간 제한1초메모리 제한512 MB
일직선에 선 최대 11명 학생의 키가 주어질 때, 한 학생이 볼 수 있는 다른 학생 수의 최댓값을 구한다. 시선은 선분 위에 걸리는 머리에 가린다.
문제
함수 P5 를 작성하라.
- 사민고등학교에는 N명의 20학번이 존재한다. 사민고의 교장선생님께서는 자신과 키가 비슷한 학생과의 안 좋은 추억이 있어, 모든 학생들의 키를 다르게 선발하였다(학번은 키순이 아니다.).
- 어느 날 사민고에 건강검진으로 학생들이 운동장에 일직선으로 섰다. 각 학생 간의 간격은 1 m이다.
- 이때 선생님은 학생들을 몰래 감시하기 위해 학생들 중 한 명을 감시 역할로 맡기려고 한다. 이때 각 학생은 일직선으로 서 있기 때문에, 시선에 가려지는 학생은 보지 못한다고 한다. 예를 들어 1 m, 3 m, 2 m 학생이 차례대로 있으면 1 m 학생은 2 m 학생을 보지 못한다.
- 그렇다고 전 학생보다 키가 크다고 무조건 볼 수 있는 것도, 작다고 무조건 안 보이는 것도 아니다. 2차원상에 학생들을 그려 서로 다른 학생의 머리를 이었을 때, 선분 위에 장애물이 없으면 볼 수 있다. 머리가 선분 위에 걸쳐있으면 못 본다고 하자.
- 이때 선생님은 최대한 많은 학생을 감시할 수 있는 학생을 선발하고자 한다.
- input parameter: 각 학생들의 키(m)가 정수로 학번순으로 저장된 리스트 A가 주어진다. 이때 A[]는 20- 학생을 나타낸다.(e.g.: A[0] → 20-001). 키의 범위는 1 m에서 100 m이다. 리스트 A의 크기는 11보다 작거나 같다.
- return value: 감시할 수 있는 최대 사람의 수를 리턴하자.