thinking 행은 볼 필요없이 열만 차례대로 순회하며 1-2 의 순서이면 카운트를 해주는 방향으로 생각. 1-2 의 순서인지 어케 체크? -> stack에 넣었다 뺐다하며 확인 처음 1이 나오면 stack에 넣고, 스택에 1이 있는 상태에서 2가 나오면 pop해서 빈 스택을 만들어주고 교착상태 카운팅+1 해줌 이 과정을 행의 처음부터 끝까지 반복하기 위해 while r 빨강이 2: S극 성질-> 파랭이 cnt = 0 for j in range(N): # (0,j) 열..
thinking visited 라는 방문체크 리스트를 만들어주고 갈 수 있는 노드를 전부 방문하면서 99번에 도착하는지 확인한다. 코드 (인접리스트 ver) for tc in range(10): # t: 테스크케이스 번호, E: 간선의 개수(길의 개수) t, E = map(int, input().split()) edge_list = [[] for _ in range(100)] edge_input = list(map(int, input().split())) # 화살표 있으면 1로 변경 for i in range(E): start_node = edge_input[i * 2] end_node = edge_input[i * 2 + 1] edge_list[start_node].append(end_node) vis..
🚩 재귀함수 thinking point는 재귀함수로 접근하는 것이다. 처음에 1번 사각형(10x20)이 3개인 경우는 어떻게 해석해야 고민했는데 가로의 길이만을 기준으로 나눠서 생각하면 재귀로 함수를 구성할 수 있다. 코드 def paper_cut(n): if n == 1: return 1 elif n == 2: return 3 return paper_cut(n-1) + paper_cut(n-2) * 2 T = int(input()) for tc in range(1, T+1): N = int(input()) ans = paper_cut(N//10) print("#{} {}".format(tc, ans))
🚩 그래프이론, 그래프탐색, BFS thinking 문제를 읽어보니 BFS여서 BFS로 풀었다. 인접리스트를 만들어준 후, 1번부터 순회하면서 케빈베이컨수를 카운팅한 후 리스트에 넣고 그 리스트에서 가장 작은 값의 인덱스를 출력했다. 코드 from collections import deque def BFS(i): visited = [0] * (N+1) queue.append(i) visited[i] = 1 while queue: t = queue.popleft() for v in edge_list[t]: if not visited[v]: visited[v] = visited[t]+1 queue.append(v) return sum(visited) N, M = map(int, input().split())..
🚩 그래프이론, 그래프탐색, DFS, BFS thinking 처음에 인접리스트로 풀었는데 인풋값을 뭘 먼저 받느냐에 따라 dfs에서 순서가 달라져서 인접행렬로 풀었다. (같은 거리의 노드라면 숫자가 작은 순으로 진행되야 하기 때문) dfs는 재귀여서 그냥 바로바로 출력하고자 함수 내에 print처리했고, bfs는 queue를 이용해서 풀었다. 코드 def DFS(V): visited[V] = 1 # 방문체크 print(V, end=' ') # 재귀여서 바로 출력 for v in range(1, N+1): if not visited[v] and edge_matrix[V][v] == 1: DFS(v) def BFS(V): queue = [V] # 출발점 visited = [V] # 방문 while queue..
- merge에러
- 영어끝말잇기
- 20057 마법사 상어와 토네이도
- merge 에러
- dp
- swea
- 삼성코테
- git 미러링
- BFS
- 21609 상어 중학교
- 파이썬
- 삼성기출
- 기지국설치
- 2579 계단오르기
- react
- 백준
- 보석쇼핑
- Python
- 20056 마법사 상어와 파이어볼
- 17406 배열돌리기4
- 알고리즘
- 2018 카카오 공채
- 프로그래머스
- 브루트포스
- dfs
- Total
- Today
- Yesterday