강의

멘토링

로드맵

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

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

작성한 질문수

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

11. 임시반장정하기

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

작성

·

311

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

퀴즈

51%나 틀려요. 한번 도전해보세요!

앞에 있는 모든 학생보다 키가 커야 보이는 '보이는 학생' 문제에서, 효율적인 풀이법의 핵심 아이디어는 무엇일까요?

모든 학생의 키를 서로 비교한다.

현재까지 본 학생 중 가장 큰 키를 추적한다.

가장 큰 학생 한 명만 찾는다.

학생들의 키를 오름차순으로 정렬한다.

답변 1

0

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

안녕하세요^^

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

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

작성한 질문수

질문하기