๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๋ฉ˜ํ† ๋ง ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๋ฉ˜ํ† ๋ง

์š”์ผ์ด 2021. 5. 5. 21:25
๋ฐ˜์‘ํ˜•

๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค..

import java.util.*;
import java.io.*;

public class Main {
	
	public void solution(int num, int exam, int[][] array) {
		// ์ด ๊ฒฝ์šฐ
		int result = 0;
		for(int i=1; i<=num; i++) {
			for(int j=1; j<=num; j++) {
				int cnt = 0;
				for(int k=0; k<exam; k++) {
					int pi=0, pj=0;
					for(int s=0; s<num; s++) {
						if(array[k][s] == i) {
							pi = s;
						}
						if(array[k][s] == j) {
							pj = s;
						}
					}
					if(pi < pj) {
						cnt ++;
					}
				}
				if(cnt==exam) {
					result ++;
				}
			}
		}
		System.out.println(result);
	}

	public static void main(String args[]) {
        Main main = new Main();
		Scanner in= new Scanner(System.in);
        int num = in.nextInt();
        int exam = in.nextInt();
        int[][] array = new int[exam][num];
        for(int i=0; i<exam; i++) {
        	for(int j=0; j<num; j++) {
        		array[i][j] = in.nextInt();
            }
        }
        main.solution(num, exam, array);
    }

}

 

 

new 2022.1.12 ์ˆ˜ ๋„์ „ ์„ฑ๊ณต

import java.util.*;

public class Main {

    public static void solution(int student, int exam, int[][] array){

        int result = 0;
		// ์—ด ๋ฐ˜๋ณต
        for(int i=0; i<student-1; i++){
        	// ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋  ํ•™์ƒ๋ฒˆํ˜ธ 
            ArrayList<Integer> cnt = new ArrayList<>();
            // ์ง€์›Œ์ง„ ํ•™์ƒ ๋ฒˆํ˜ธ
            ArrayList<Integer> removed = new ArrayList<>();
            // ํ–‰ ๋ฐ˜๋ณต
            for(int j=0; j<exam; j++){
            	// array[0][i]์˜ ๋’ท ์ˆœ์œ„์— ์žˆ๋Š” ํ•™์ƒ๋“ค ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•จ
                boolean isAdd = true;
                // ๋ฐ˜๋ณต๋˜๋Š” ํ–‰์˜ ํ•™์ƒ๋ฒˆํ˜ธ ๊ฐ€์ ธ์˜ค๊ธฐ
                for(int z=0; z<student; z++){
                    // ์ฒ˜์Œ ์—ด ๋ฐ˜๋ณต์˜ ํ•™์ƒ๊ณผ ๊ฐ™์€ ๋ฒˆํ˜ธ์ธ์ง€
                    if(array[0][i] == array[j][z]){
                        isAdd = false;
                    }else{
                    	// array[0][i]์˜ ์•ž ์ˆœ์œ„
                        if(isAdd){
                        	// ๊ฒฝ์šฐ์˜ ์ˆ˜์— ํฌํ•จ๋˜์–ด์žˆ์œผ๋ฉด ์ง€์šฐ๊ธฐ
                            if(cnt.contains(array[j][z])){
                                cnt.remove(cnt.indexOf(array[j][z]));
                            }
                            // ์ง€์›Œ์กŒ๋˜ ๋ฆฌ์ŠคํŠธ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํฌํ•จํ•˜๊ธฐ(๊ฒฝ์šฐ์˜ ์ˆ˜์— ํฌํ•จ๋˜์–ด์•ผ ํ•˜์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ)
                            if(!removed.contains(array[j][z])){
                                removed.add(array[j][z]);
                            }
                        // array[0][i]์˜ ๋’ค ์ˆœ์œ„
                        }else{
                            if(!cnt.contains(array[j][z]) && !removed.contains(array[j][z])){
                                cnt.add(array[j][z]);
                            }
                        }

                    }

                }
            }
            result += cnt.size();
        }

        System.out.println(result);

    }

    public static void main(String[] args) {

        Main main = new Main();
        Scanner kb = new Scanner(System.in);

        int N = kb.nextInt();
        int M = kb.nextInt();

        int[][] array = new int[M][N];

        for(int i=0; i<M; i++){
            for(int j=0; j<N; j++){
                array[i][j] = kb.nextInt();
            }
        }

        Main.solution(N, M, array);
    }

}
Comments