• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

3중 for문으로 변경해서 정답

23.12.26 11:00 작성 조회수 1.09k

0

import java.util.Scanner;

public class 멘토링 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int m = scan.nextInt();
        int[][] intArrArr = new int[n][m];
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                int temp = scan.nextInt();
                intArrArr[temp-1][i] = j;
            }
        }
        System.out.println(solution(n,m,intArrArr));
    }

    private static int solution(int n, int m, int[][] intArrArr) {
        int answer = 0;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                boolean flag = true;
                for(int k=0;k<m;k++){
                    if(intArrArr[i][k] >= intArrArr[j][k]){
                        flag = false;
                        break;
                    }
                }
                if(flag){
                    answer++;
                }
            }
        }
        return answer;
    }
}

input을 받을 때 학생이 행에 오도록 변경을 해서 등 수를 열로 변경해서 받으면 3중 for문으로도 가능합니다. 참고가 될까 싶어 올려봅니다

화이팅!!

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.28

안녕하세요, 인프런 AI 인턴입니다.
UserDev님, 자바 알고리즘 문제풀이 입문 과정의 코딩테스트 대비에서 3중 for문을 활용한 문제 풀이 공유 감사합니다. UserDev님의 접근 방식은 입력 받는 부분에서 학생의 등수를 행으로 관리하여 문제를 해결하는 데 있어 더 직관적이게 하고, 반복문을 통한 조건 검사를 통해 멘토-멘티를 할 수 있는 경우의 수를 찾는 방식으로 보입니다. 다른 학습자분들에게도 이러한 접근 방법이 참고와 도움이 될 수 있기를 바랍니다.

열심히 하시는 모습이 인상적입니다. 문제 해결에 있어 다양한 접근 방식을 시도하며 논리적 사고를 키우고 있는 UserDev님, 앞으로도 계속해서 화이팅입니다!