문제(출처: https://www.acmicpc.net/problem/1058)
< 친구 >
문제 풀이
A의 2-친구를 구하기 위해서는 먼저 A와 친구인 사람을 찾는다. 그 후에 A와 친구인 사람들의 친구를 찾는다.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class _1058_ { // 친구
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
char arr[][] = new char[n][n];
int visited[][] = new int[n][n];
int result[] = new int[n];
for (int i = 0; i < n; i++) {
String str = bf.readLine();
for (int j = 0; j < n; j++) {
arr[i][j] = str.charAt(j);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] == 'Y' && visited[i][j] == 0) {
visited[i][j] = 1;
result[i] += 1;
}
}
for (int j = 0; j < n; j++) {
if (visited[i][j] == 1) {
for (int k = 0; k < n; k++) {
if (i != k && arr[j][k] == 'Y' && visited[i][k] == 0) {
visited[i][k] = 2;
result[i] += 1;
}
}
}
}
}
int answer = result[0];
for (int i = 0; i < n; i++) {
if (answer < result[i])
answer = result[i];
}
System.out.println(answer);
}
}
Main
변수)
n : 사람의 수
arr : 사람들의 친구 여부
visited : 친구 확인 방문 여부
result : 2-친구 수
answer : 가장 유명한 사람의 2-친구의 수
- 사람의 수(n) 입력
- 사람들의 친구 여부(arr)를 입력
- 자신과 친구라면 방문 여부를 1로 저장, 친구의 친구라면 방문 여부를 2로 저장
- 가장 유명한 사람의 2-친구의 수 출력
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 11637_인기 투표 (0) | 2023.10.25 |
---|---|
[Baekjoon] 9575_행운의 수 (1) | 2023.10.24 |
[Baekjoon] 1956_운동 (0) | 2023.10.20 |
[Baekjoon] 1015_수열 정렬 (0) | 2023.10.19 |
[Baekjoon] 20044_Project Teams (0) | 2023.10.18 |