min's devlog

[Array] 임시반장 정하기 본문

til/Algorithm

[Array] 임시반장 정하기

값진 2021. 7. 24. 21:28
import java.util.*;
class Main {	
	public int solution(int n, int[][] arr){
		int answer=0, max=0;
		for(int i=1; i<=n; i++){
			int cnt=0;
			for(int j=1; j<=n; j++){
				for(int k=1; k<=5; k++){
					if(arr[i][k]==arr[j][k]){
						cnt++;
						break;
					}
				}
			}
			if(cnt>max){
				max=cnt;
				answer=i;
			}
		}
		return answer;
	}

	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int n=kb.nextInt();
		int[][] arr=new int[n+1][6];
		for(int i=1; i<=n; i++){
			for(int j=1; j<=5; j++){
				arr[i][j]=kb.nextInt();
			}
		}
		System.out.print(T.solution(n, arr));
	}
}

모두가 다 자신을 i,j에서 만났을 때 같은 반 취급하면 중복신경x

 

학생이 몇번 같은반이었는지는 중요x

한번 같은 반 확인->cnt 올라감->k돌며 (학년) 또 같은반이었는지 확인할 필요 없다, 막기위해 break

 

2차원배열은 학생,학년 3차원배열은 학생,학생,학년

'til > Algorithm' 카테고리의 다른 글

[Two pointers] 공통원소 구하기  (0) 2021.07.28
[Two pointers] 두 배열 합치기  (0) 2021.07.27
[Array] 봉우리  (0) 2021.07.23
[Array] 격자판 최대합  (0) 2021.07.23
[Array] 점수계산  (0) 2021.07.20
Comments