1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | package baekjoon; //1.브루트포스(완전탐색) import java.io.*; import java.util.Arrays; public class b1058 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); char isFriend[][] = new char[N][N]; //주어진 그래프 int result[] = new int[N]; //각 노드의 친구 수 저장 char mark[][] = new char[N][N]; //친구로 이미 등록 되었는지 유무 체크 String st; for(int i = 0; i < N; i++) { st = br.readLine(); for(int k = 0; k < N; k++) { isFriend[i][k] = st.charAt(k); } } for(int i = 0; i < N; i++) { for(int k = 0; k < N; k++) { if(isFriend[i][k] == 'Y') { if(mark[i][k] == 0) { result[i]++; mark[i][k] = 1; } for(int j = 0; j < N; j++) { if(isFriend[k][j]=='Y' && mark[i][j] == 0 && i != j) { result[i]++; mark[i][j] = 1; } } } } } // for(int i = 0; i < N; i++) { // System.out.printf(isFriend[i] + " "); // } Arrays.sort(result); /* * toString()과 valueOf의 차이점 * 두 메소드 모두 String으로 변환하지만 대상이 null값인 경우 valueOf는 null이라는 문자열로, * toString은 NPE를 발생 (Null Pointer Exception) */ bw.write(String.valueOf(result[N-1])); //정렬 후 가장 큰 값 출력 bw.close(); //bufferedWriter의 경우 버퍼를 잡아놓았기 때문에 flush()나 close()를 호출해서 뒤처리 필요. /* * bw.write(s);//출력 bw.newLine(); //줄바꿈 bw.flush();//남아있는 데이터를 모두 출력시킴 bw.close();//스트림을 닫음 */ } } | cs |
'Problems & Solutions' 카테고리의 다른 글
9095 1, 2, 3 더하기 (0) | 2022.07.30 |
---|---|
11441 합 구하기 (0) | 2022.07.26 |
1244 스위치 켜고 끄기 (0) | 2022.07.25 |
23881 알고리즘 수업 - 선택 정렬 1 (0) | 2022.07.02 |
[1월 15일] 선택정렬 & 문자열 카운트,문자 포함 여부,단어 개수,상수,StringTokenizer,StringBuilder (0) | 2022.01.15 |