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

정다운님의 프로필 이미지
정다운

작성한 질문수

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

11. 임시반장정하기

예제는 맞앗는데,채점시스템 오답으로 나오네요.ㅠㅠ 코드리뷰한번만 부탁드리겠습니다.

작성

·

263

0

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner kb=new Scanner(System.in);
        int student,pos,len=kb.nextInt(), table[][] = new int[len][len],max=Integer.MIN_VALUE,currMax,answer=0;
        //입력받기
        for(int i=0;i<len;i++)for(int j=0;j<len;j++)table[i][j]=kb.nextInt();

        //찾기
        for(int stdnum=0;stdnum<len;stdnum++){
            //check배열을 만들어, 같은반이었던 학생은 true로 변경
            boolean check[] = new boolean[len];
            for(int grade=0;grade<len;grade++){
                student=table[stdnum][grade];
                pos=0;
                while(pos<len){
                    if(table[pos][grade]==student)check[pos]=true;
                    pos++;
                }
            }
            //같은반이었던 학생 수 만큼 currMax에 더하며 카운트..
            currMax=0;
            for(int i=0;i<len;i++)if(check[i])currMax++;
            //currMax가 기존Max보다 크면 answer(반장번호)변경;
            if(currMax>max){
                max=currMax;
                answer=stdnum+1;
            }
        }
        System.out.println(answer);
    };
};

답변 1

0

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

안녕하세요^^

학년은 5학년까지로 고정된 입력이 주어집니다.

정다운님의 프로필 이미지
정다운

작성한 질문수

질문하기