공부하기/백준

[Java] 백준 풀기 10864 - 친구

XEV 2023. 3. 22. 23:53

자바 백준 10864번

브론즈 2

https://www.acmicpc.net/problem/10864

 

10864번: 친구

첫째 줄에 도현이네 반 학생의 수 N(1 ≤ N ≤ 1,000), M(0 ≤ M ≤ 1,000)이 주어진다.  둘째 줄부터 M개의 줄에는 친구 관계를 나타내는 A B가 한 줄에 하나씩 주어진다. A B가 입력으로 주어진 경우에 A

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현

 

 

 

 

 

문제 풀기

순서대로 명명되어진 각각의 학생 1, 2, 3, .. 는 m 번에 걸친 친구 관계 표시 빈도수를 따른다.

따라서 자신의 숫자가 출현하는 횟수 또한 친구의 수와 같다.

학생의 수 만큼 빈 배열을 형성하고 (나는 학생 번호와 index 를 맞추기 위해 +1 개의 배열을 만들었다.) 그 배열 순서에 맞게 학생을 나타내는 숫자의 출현 횟수를 누적하여 기록한다.

예시에 나온 m 개의 줄에 나타난 숫자 1, 2, 3, 4, 2, 5, 5, 1, 4, 2 에서 각각의 숫자가 몇번 출현하는지 배열에 저장하고 그 배열의 value 를 순차적으로 출력한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int m = sc.nextInt();
        
        int[] numberOfFriends = new int[n + 1];
        for (int i = 0; i < m; i++) {
            int relationship_1 = sc.nextInt();
            int relationship_2 = sc.nextInt();
            
            numberOfFriends[relationship_1] += 1;
            numberOfFriends[relationship_2] += 1;
        }
        
        for (int j = 1; j < numberOfFriends.length; j++) {
            System.out.println(numberOfFriends[j]);
        }
        
    }
}