인프런 커뮤니티 질문&답변
테스트 케이스가 잘못되어있는것 같습니다.
작성
·
369
0
코드는 동일하게 작성하였는데 정답과 오답을 왔다갔다해서 테스트케이스를 확인하게됬습니다.
작성한 코드는 아래와 같습니다 점검도 한번 부탁드립니다.
public int solution(int[][] arr) {
int num=0;
int max=Integer.MIN_VALUE;
// i = 학생별 검사
for(int i=0; i<arr.length; i++) {
//학생의 겹침 횟수
int cnt = 0;
//j = 학년
for(int j=0; j<arr[i].length; j++) {
// k = 다른 학생과 비교
for(int k=0; k<arr.length; k++) {
if(arr[i][j] == arr[k][j]) cnt++;
}
}
if(max<cnt) {
max = cnt;
num = i+1;
}
}
return num;
}
퀴즈
앞에 있는 모든 학생보다 키가 커야 보이는 '보이는 학생' 문제에서, 효율적인 풀이법의 핵심 아이디어는 무엇일까요?
모든 학생의 키를 서로 비교한다.
현재까지 본 학생 중 가장 큰 키를 추적한다.
가장 큰 학생 한 명만 찾는다.
학생들의 키를 오름차순으로 정렬한다.






저 케이스에서는 그냥 눈으로 보아도 4번 학생이 더 많아보이는데... 문제가 이상한게 아닌가요?
3번 학생의 경우 2번 겹치고
4,5번학생의 경우 3번 겹치는데..
문제가 이상한게 아닌지 한번 검토가 필요할 것 같습니다.