<パート2-ARAY>12.ガイダンス


12.ガイダンス


<説明>


賢洙(ヒョンス)先生は、クラスの生徒の数学点数を上げるため、補習システムを構築しようとした.指導者(助けた学生)と指導者(助けた学生)がペアになり、指導者は指導者が数学を学ぶのを助けた.先生はM番の数学の試験の点数で指導者と指導者を決めます.
A学生が指導者であれば、B学生が指導者のパートナーであり、A学生はM回の数学テストでB学生より順位が高い.M回の数学の成績を取ったら、何回指導者と指導者のパートナーになれるかを印刷するプログラムを作成してください.

<入力>


1行目にはクラス生徒数N(1<=N<=20)とM(1<=M<=10)が与えられる.
2行目からは、M行において学生番号として数学的試験結果が与えられる.学生番号は一番前から1位2位...Nなどの順序で表現する.
1行N=4で、テスト結果が3.41であれば、3番が1位、4番が2位、1番が3位、2番が4位であることを示します.

<出力>


最初の行にペアリングが作成された合計数を出力します.
===================================================

<コード>


四重要はドアで解く.2人の学生に分けられる場合は、2を文として作成し、各試験で等級を比較し、他の2を文として答えを探す.点数を比較し、保存後の最後のより大きな回数が試験の回数と同じであれば、指導者と指導者の関係になることができます.
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
	public int solution(int exam,int student,int[][] array ) {
		int answer=0;

		for(int i=1; i<=student;i++) {
			for(int j=1;j<=student;j++) {
				int cnt=0;
				for(int k=0;k<exam;k++) {
					int s1=0,s2=0;
					for(int l=0;l<student;l++) {
						if(array[k][l]==i) s1=l;
						if(array[k][l]==j) s2=l;
					}
					if(s1>s2) cnt++;
				}
				if (cnt == exam) answer++;
			}
		}
	
		return answer;
	}
	
	
	public static void main(String[] args) {
		Main main = new Main();
		Scanner scan = new Scanner(System.in);
	    int student=scan.nextInt();
	    int exam=scan.nextInt();
	    int [][] array=new int[exam][student];
	    for(int i=0;i<exam;i++) {
	    	for(int j=0;j<student;j++)
	    	array[i][j]=scan.nextInt();
	    }
	    System.out.println(main.solution(exam,student,array));
     }
}

<重要>


1)4のfor文の利用