01-09 18:44
Recent Posts
Recent Comments
Tags
- DATABASE
- ICT
- ict๊ณต๋ชจ์
- linux
- RaspberryPi
- python
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- API๋ง์ผํ๋ ์ด์ค
- SQL
- ํ์ด์๊ณต๋ชจ์
- ํ์ด์
- ํ์ด์ฌ
- JOBํ๊ณ
- Spring
- ์กํ๊ณ
- ICT๋ฉํ ๋ง
- DB
- Java
- ์คํฝ๋ ํ
- Naver Cloud
- appetizer
- ์จ์ผ๋ํ
- ํ๋ก๋ณด๋ ธ
- ์คํฝ์ค๋น
- ์๋์ด๋ ธ
- TSQL
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ด๋ธ์
- mysql
- ์๋ฐ
- Today
- Total
miinsun
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ10451 :: ์์ด ์ฌ์ดํด ๋ณธ๋ฌธ
๐ฌ ๋ฌธ์ ์ค๋ช
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ
- ์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค.
- ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ์์ด์ ํฌ๊ธฐ N (2 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค.
- ๋์งธ ์ค์๋ ์์ด์ด ์ฃผ์ด์ง๋ฉฐ, ๊ฐ ์ ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์๋ค.
์ถ๋ ฅ
- ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์ด์ ์กด์ฌํ๋ ์์ด ์ฌ์ดํด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1)
2
8
3 2 7 8 1 4 5 6
10
2 1 3 4 5 6 7 9 10 8
์์ ์ถ๋ ฅ 1)
3
7
โ
๐ป Main.java
- ์ด์ ๊ฒ์๊ธ 'DFS์ BFS' ๋ฌธ์ ๋ฅผ ๋ฒ ์ด์ค๋ก ํด๊ฒฐ
- check๋ฐฐ์ด์ ๋ฐฉ๋ฌธ์ ๋ฌด๋ฅผ ๊ธฐ๋กํ๋ค.
/* ๋ฐฑ์ค ๊ทธ๋ํ - 10451 :: ์์ด ์ฌ์ดํด */
import java.util.*;
import java.io.*;
public class Main {
static int answer = 0;
public void DFS(int s, int initial, int[] arr, boolean[] check) {
check[s] = true;
// ์ด๊ธฐ๋
ธ๋์ ๋ค์ ์งํ๋
ธ๋๊ฐ ๊ฐ์ผ๋ฉด ์ฌ์ดํด
if(initial == arr[s])
answer++;
// ๋ฐฉ๋ฌธํ ์ ์ด ์๋ ๋
ธ๋๋ง ๋ฐฉ๋ฌธ
if(!check[arr[s]]) {
DFS(arr[s], initial, arr, check);
}
}
public static void main(String[] args) throws IOException{
Main main = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int t = Integer.parseInt(st.nextToken());
for(int i = 0; i < t; i++) {
st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int[] arr = new int [n + 1];
boolean[] check = new boolean [n + 1];
st = new StringTokenizer(br.readLine());
for(int j = 1; j <= n; j++) {
int x = Integer.parseInt(st.nextToken());
arr[j] = x;
}
// ๋ฐฉ๋ฌธํ์ ์๋ ๋
ธ๋๋ก DFS ์งํ
for(int j = 1; j <= n; j++) {
if(!check[j])
main.DFS(j, j, arr, check);
}
System.out.println(answer);
answer = 0;
}
br.close();
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ 2667 :: ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (0) | 2022.04.02 |
---|---|
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ 2331 :: ๋ฐ๋ณต์์ด (0) | 2022.03.31 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ 11724 :: ์ฐ๊ฒฐ ์์์ ๊ฐ์ (0) | 2022.03.29 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ํ 1260 :: DFS์ BFS (0) | 2022.03.28 |
[BAEKJOON] ๋ฐฑ์ค ๊ธฐ์ด ์ํ 9613 :: GCD ํฉ (0) | 2022.03.28 |
Comments