강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

leejohy님의 프로필 이미지
leejohy

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

runtime error

작성

·

198

0

안녕하세요. 임시반장 문제 푸는 도중 런타임 에러로 채점이 되지 않아서 문의드립니다.

크게 다른거라곤 BufferedReader를 사용하는 것 말고는 없는 거로 예상되고, 이전 문제는 BufferedReader로도 잘 진행이 되었습니다.

확인해주시면 감사드리겠습니다!

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
public void solution(int n, int[][] arr) {

int pick = Integer.MIN_VALUE;
int people = 0;
for(int i=1; i<n+1; i++) {
int count = 0;
for(int j=1; j<6; j++) {
for(int k=1; k<6; k++) {
if(arr[i][k] == arr[j][k]) {
count ++;
break;
}
}
}
if(pick < count) {
pick = count;
people = i;
}
}
System.out.print(people);
}
public static void main(String[] args) throws IOException {
Main T = new Main();

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());

int[][] arr = new int[num+1][6];

for(int i=1; i<num+1; i++) {
String[] bf = br.readLine().split(" ");
for(int j=1; j<6; j++) {
arr[i][j] = Integer.parseInt(bf[j-1]);
}
}
T.solution(num, arr);
}
}

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

 solution 메서드의 아래 코드에서 논리적 오류가 발생합니다. 

for(int j=1; j<6; j++) {

위에 코드에서 j가 무엇을 의미하는지 잘 생각해보세요.

leejohy님의 프로필 이미지
leejohy
질문자

아, j도 i와 동일하게 n번까지 확인해야하군요!

확인해주셔서 감사합니다!!

leejohy님의 프로필 이미지
leejohy

작성한 질문수

질문하기