[알고리즘] 임시반장 - Java

🎁 문제


🎲 알고리즘

가장 밖 for문(i=0; i<n; i++) 이 for문은, 비교할 대상이 되는 학생을 지목할 행이다.

중간 for문(j=0; j<n; j++) 이 for문은, 비교할 대상의 학년 별로 선택할 열이다.

가장 안 for문(k=0; k<5; k++) 이 for문은, 위 i,j의 학생과 학년별로 모든 학생을 비교할 for문이다.

📃 풀이

package kosta.mission2;

import java.util.Scanner;

public class Solution2_11 {
	
	public void solution(int n, int arr[][]) {
		int answer = 0;
		int max = 0;
		int count= 0;
		
		for(int i = 0; i < n; i++) { //비교할 대상이 되는 학생
			for(int j = 0; j < n; j++) { // 비교할 대상의 학년 별로 선택
				for(int k = 0; k < 5; k++) { // 모든 학생을 비교
					if(arr[i][j] == arr[j][k] && i != j) {
						count ++;
						break;
					}
				}
			}
			if(count > max) {
				answer = i;
				max = count;
			}
		}
		System.out.println(answer);
	}

	public static void main(String[] args) {
		
		Solution2_11 s = new Solution2_11();
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[][] arr = new int[n][5];
		
		for(int i = 0; i < n; i++) {
			for(int j = 0; j < 5; j++) {
				arr[i][j] = sc.nextInt();
			}
		}
		
		s.solution(n, arr);
	}

}

좋은 웹페이지 즐겨찾기