• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

멘토링 문제 질문드립니다.

22.10.31 14:24 작성 조회수 540

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

강의에서 작성한 if(arr[i][k]==arr[j][k])를 사용하면 코드 진행 순서가 k가 있는 for문이 먼저 진행되니까

1)arr[1][1]==arr[1][1]

2)arr[1][2]==arr[1][2]

3)arr[1][3]==arr[1][3]으로 되지 않나요?? 그래서,

if(matrix[i][j]==matrix[k][j]) 으로 하면 학년별 비교가 가능하지 않나요???

전체코드

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n=sc.nextInt();

int[][] matrix = new int[n][5];

int max = 0;

int cnt=0;

int answer = 0;

for(int i=0; i<n; i++) {

for(int j=0; j<5; j++) {

matrix[i][j] = sc.nextInt();

}

}

for(int i=0; i<n; i++) {

cnt=0;

for(int j=0; j<n; j++) {

for(int k=0; k<5; k++) {

if(matrix[i][j]==matrix[k][j]) {

cnt++;

}

}

}

if(cnt>max) {

max = cnt;

answer = i+1;

}

}

System.out.print(answer);

}

이렇게는 풀면안되는건가요?? 인프런에서는 런타임 오류가 뜨네요

답변 1

답변을 작성해보세요.

0

안녕하세요^^

위 코드가 멘토링 문제가 아닌것 같은데요. 혹시 임시반장정하기 같은데요.

if(matrix[i][j]==matrix[k][j]) {

cnt++;

}

위에 if문은 i번 학생과 j번 학생이 1학년부터 5학년까지 같은 반을 했는지 확인하는 코드입니다.

위에 처럼 하면 안될 것 같습니다. 스스로 디버그해보세요.