인프런 커뮤니티 질문&답변

김대영님의 프로필 이미지

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

12. 멘토링

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

작성

·

1.3K

2

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문으로도 가능합니다. 참고가 될까 싶어 올려봅니다

화이팅!!

답변 3

0

대단하셔요 👍

0

정말 좋은 풀이 같네요!!

0

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

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