Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데이터분석
- Brigthics를 이용한 분석
- Brightics
- 추천시스템
- 삼성SDS
- Brigthics
- Brightics를 이용한 분석
- Brigthics Studio
- 캐글
- 데이터 분석
- 삼성SDS Brigthics
- 브라이틱스
- 혼공
- 직원 이직여부
- 노코드AI
- 포스코 청년
- 삼성 SDS Brigthics
- 포스코 아카데미
- 삼성 SDS
- 모델링
- 영상제작기
- Brightics Studio
- 혼공머신
- 브라이틱스 서포터즈
- 개인 의료비 예측
- 혼공머신러닝딥러닝
- 혼공학습단
- 삼성SDS Brightics
- 직원 이직률
- 팀 분석
Archives
- Today
- Total
데이터사이언스 기록기📚
[백준/Python] 2668번(그래프, DFS)_숫자고르기 본문
📌문제 유형
그래프 이론, 그래프 탐색, DFS (골드5)
📌문제
📌나의 문제풀이
n = int(input())
graph = [[] for _ in range(n+1)]
for i in range(n):
graph[i+1].append(int(input()))
def dfs(x):
global v1
global v2
v1[x] = 1
if v2[graph[x][0]] == 0:
v2[graph[x][0]] = 1
dfs(graph[x][0])
return
ans = []
for i in range(1,n+1):
v1 = [0 for _ in range(n+1)]
v2 = [0 for _ in range(n+1)]
dfs(i)
if v1 == v2:
for n in range(len(v1)):
if v1[n] == 1:
ans.append(n)
ans = list(set(ans))
ans.sort()
print(len(ans))
for num in ans:
print(num)
📌 다른사람의 문제풀이
import sys
input = sys.stdin.readline
N = int(input())
adj = [[] for _ in range(N + 1)]
for i in range(1, N + 1):
adj[i].append(int(input()))
# DFS로 탐색하다가 사이클 발생한 것들을 다 더하면 된다 !!
def dfs(num):
if visited[num] == False:
visited[num] = True
for a in adj[num]:
tmp_up.add(num)
tmp_bottom.add(a)
if tmp_up == tmp_bottom:
ans.extend(list(tmp_bottom))
return
dfs(a)
visited[num] = False
ans = []
for i in range(1, N + 1):
visited = [False] * (N + 1) # 위에 값 기준으로
tmp_up = set()
tmp_bottom = set()
dfs(i)
ans = list(set(ans))
ans.sort()
print(len(ans))
for a in ans:
print(a)
📌 리뷰
- visited 함수 잘 활용하기
- 위, 아래 같은거 확인하고 리스트를 늘릴 수도 있음
728x90
'Coding Test > 백준(Python)' 카테고리의 다른 글
[백준/Python] 2573번(DFS,BFS)_빙산 (0) | 2023.08.07 |
---|---|
[백준/Python] 1744번(그리디, 정렬)_수 묶기 (0) | 2023.06.09 |
[백준/Python] 2589번(그래프, 브루트포스 ,BFS)_보물섬 (0) | 2023.05.29 |
[백준/Python] 2212번(그리디)_센서 (0) | 2023.05.29 |
[백준/Python] 1759번(백트래킹, 브루트포스)_암호 만들기 (0) | 2023.05.23 |
Comments