• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

테스트 케이스가 잘못되어있는것 같습니다.

21.09.10 15:55 작성 조회수 208

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;
	}

 

답변 3

·

답변을 작성해보세요.

0

정규원님의 프로필

정규원

2022.08.20

솔직히 문제가 잘못된게 맞아요.

0

인프런님의 프로필

인프런

2022.01.23

코드가 잘못되었네요. 6학년의 반장을 뽑는 문제이므로 학년은 5학년까지여야 합니다. 작성자님 코드에서는 학년 < arr[i].length 로 되어있네요. for (int 학년 = 0; 학년 < 5; 학년++) 로 수정해보세요.

0

안녕하세요^^

테스트케이스는 정보올림피아드 공식 데이터입니다.

본인의 코드가 문제에서 물어보는 것에 충실하게 구현됐는지 확인해보세요. 

영상 설명에서 제일 안쪽 for문에서 왜 break를 했는지 확인해 보세요.

 

earli2st님의 프로필

earli2st

2021.10.01

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

ky k님의 프로필

ky k

2021.10.14

위의 테스트케이스에서 4번학생은 5번학생이랑 두번 같은 반이 되었는데 그 경우에 2번이아니라 1번으로 판단합니다.

그래서 결국 3번학생도 2명 4번학생도 2명인데 그중에서 번호가 작은 3번학생이 선출 된것 같습니다.