https://www.acmicpc.net/problem/2668
2668번: 숫자고르기
세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절�
www.acmicpc.net
import java.awt.geom.Area;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Main{
static int N,remember = 0,count = 0,answer = Integer.MIN_VALUE;
static int[] arr;
static boolean[] visited;
static ArrayList<Integer> list = new ArrayList();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
arr = new int[N+1];
visited = new boolean[N+1];
for (int i = 1; i <= N; i++) {
arr[i] = sc.nextInt();
}//end of input
for (int i = 1; i <= N; i++) {
visited[i] = true;
remember = i;
dfs(i);
visited[i] = false;
}
Collections.sort(list);
System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
public static void dfs(int x) {
if(visited[arr[x]] == false) {
visited[arr[x]] = true;
dfs(arr[x]);
visited[arr[x]] = false;
}
if(arr[x] == remember) list.add(remember);
}
}
'ALGORITHM > 프로그래머스 | 백준 | 삼성 | 카카오' 카테고리의 다른 글
[백준] 17144번 미세먼지 안녕! (0) | 2020.08.28 |
---|---|
[백준] 1987번 알파벳 (0) | 2020.08.26 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT [1차] 비밀지도 (0) | 2020.08.25 |
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 크레인 인형뽑기 게임 (0) | 2020.08.25 |
[백준] 1764번 듣보잡 (0) | 2020.08.23 |