1. 생각
// 생각
// 트리 형태로 연결되어 있다, 그리고 예시 사진을 보니 dfs 혹은 bfs로 돌면서 확인하면 될 것 같다
// 시작점에서 연결되어 있는 다른 것들을 다 돌면서 count만 하면 된다 dfs, bfs 딱히 상관 없을 것 같다
// 저번에 재귀 계속 했으니 이번에는 큐로 구현할 수 있는 bfs를 해보자
// 구현
// wires를 돌면서 연결리스트를 만든다
// wires를 돈다
// 해당 원소의 전선을 끊는다
// 시작에서 bfs 돈 값과 끝에서 bfs 돈 값의 차이와 현재 answer 중 최솟값이 answer
// 끊었던 전선을 다시 붙인다
// bfs
2. 회고
- 문제 접근법은 떠올리기 쉬웠다.
- 그리고 bfs도 저번에 복습해서 구현하는데 어려움은 없었다.
- 그런데 연결리스트를 만들 때 List 형태를 담는 배열을 선언하는 데 있어서 약간의 어려움을 겪었다. 그래서 그 부분을 참고한 게 아쉽다.
3. 기억
List<Integer>[] arrList = new List[n+1];
// 제너릭을 사용하여 List의 각 요소가 Integer임을 명시하였다.
// 따라서 for(int n : arrList[i]) 를 사용할 때 컴파일러가 arrList의 각 요소가 Integer임을 알고 있어 오류를 발생시키지 않는다
List[] arrList = new List[n+1];
// 제너릭을 사용하지 않아 List안에 뭐가 들어갈지 모른다
// 따라서 for(int n : arrList[i])를 사용할 때 arrList 안에 있는 요소의 형태를 컴파일러가 몰라서 오류가 난다
4. 체크
풀이 횟수 | 시간 | 정답 여부 | 참고 여부 |
2 | 1시간 | O |
'코딩테스트' 카테고리의 다른 글
[프로그래머스/자바] 타겟 넘버_43165 (0) | 2023.07.19 |
---|---|
[프로그래머스] 모음사전_84512 (0) | 2023.07.18 |
[프로그래머스/자바] 피로도_87946 (0) | 2023.07.17 |
[프로그래머스] 카펫_42842 (1) | 2023.07.16 |
[프로그래머스] 소수찾기_42839 (0) | 2023.07.14 |