강의

멘토링

커뮤니티

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

조영상님의 프로필 이미지
조영상

작성한 질문수

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

6. 친구인가(Uion&Find 알고리즘)

질문드립니다

작성

·

211

0

안녕하세요 강사님 수업 너무 잘 듣고 있습니다. 

해당 코드에 대해 첫번째 테스트 케이스가 통과되지 않는데 도저히 이유를 알 수 없어 질문드립니다. 

감사합니다. 

package greedy;
public class Main {

    public static int[] parent;

    public static int findParent(int student) {
        if (student == parent[student]) {
            return student;
        } else {
            return parent[student] = findParent(parent[student]);
        }
    }

    public static void union(int student1, int student2) {
        int student1Parent = findParent(student1);
        int student2Parent = findParent(student2);
        if (student1Parent != student2Parent) {
            parent[student1]= student2Parent;
        }
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int students = in.nextInt();
        int studentPair = in.nextInt();
        parent = new int[students + 1];
        for (int i = 1; i <= students; i++) {
            parent[i] = i;
        }
        for (int i = 1; i <= studentPair; i++) {
            int student1 = in.nextInt();
            int student2 = in.nextInt();
            union(student1, student2);
        }
        int targetStudent1 = in.nextInt();
        int targetStudent2 = in.nextInt();
        int parent1 = findParent(targetStudent1);
        int parent2 = findParent(targetStudent2);
        if (parent1 == parent2) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }
    }
}

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
조영상님의 프로필 이미지
조영상

작성한 질문수

질문하기