알고리즘
[백준, 자바, 11728번] 스피카
hminor
2024. 10. 14. 11:43
반응형
풀이
- 해당 문제는 가장 밝은 별을 뭐 어떻게 찾으라는 거야라고
- 계속해서 찾아봤는데
- 조건데 맞는 별을 찾는 문제였다는 걸 알게 되었음...
- 3개의 연결된 별을 찾고 (여기까진 생각했는데, 여러 개어서 아닌줄....)
- 해당 별에 연결된 별이 사진에 나온 것 처럼
- 1개, 2개, 3개 이렇게 연결되어 있을 경우에 해당 기준 별이
- 스피카라는 말...
- 그래서 아래와 같이 코드를 작성하여 해결.
import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class _21316 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
List<List<Integer>> mtx = IntStream.rangeClosed(0,13).mapToObj(ArrayList<Integer>::new).collect(Collectors.toList());
int[] li = new int[13];
int result = 0;
for (int i=0; i<12; i++) {
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
li[x]++;
li[y]++;
mtx.get(x).add(y);
mtx.get(y).add(x);
}
for (int i=0; i<13; i++) {
if (li[i]==3 && (li[mtx.get(i).get(0)]+li[mtx.get(i).get(1)]+li[mtx.get(i).get(2)]) == 6) {
result = i;
break;
}
}
System.out.println(result);
}
}