일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩
- BOJ
- python
- 2022년 정보처리기사 실기 가답안
- 백준
- 정보처리기사
- 그리디
- 백준 그래프 탐색 파이썬
- 정보처리기사 실기 시험
- 자료구조
- BFS
- 백준 백트랙킹
- 백준 백트랙킹 파이썬
- 코딩테스트
- 자바
- 코드
- 알고리즘
- 백준 그래프 이론 파이썬
- 프로그래머스 파이썬
- it
- 정보처리기사 실기
- 백준 N-Queens
- 2022년 정보처리기사 실기 1회 가답안
- 프로그래밍
- 백준 토마토 파이썬
- 프로그래머스
- 파이썬
- dfs
- 2022년 정보처리기사 실기
- 토마토
- Today
- Total
목록알고리즘 (4)
코딩,안되면 될때까지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Gtnxy/btrvas6YSIA/Kd3bvU4PMmxOKHd1WvYSt0/img.png)
0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 : 구멍이 존재하는 부분 ->상하좌우로 서로 연걸 1 : 칸막이가 존재하는 부분 N*M크기의 얼음 틀이 주어졌을때 총 아이스크림의 개수를 구하는 프로그램을 작성하시오. 위와 같은 4*5크기의 얼음틀이 주어졌을 경우 총 3개의 아이스크림이 생성된다. 특정지점의 주변 상,하,좌,우를 살펴본뒤 주변지점중에서 값이'0'이면서 아직 방문하지 않은 지점이 있다면 방문한다.(0->1) 방문한 지점에서 다시 상,하,좌,우를 살펴보면서 방문을 다시 진행하면서 연결된 모든 지점 방문(재귀적으로 dfs 호출) 만약 방문 불가능한 지점일 경우이거나 이미 방문한 경우 함수의 반환결과는 False, 그렇지 않으면 함수의 반환결과는 True이다. 방문가능한..
1)DFS :Depth-First Search, 깊이우선탐색,그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 탐색 시작노드를 스택에 삽입하고 방문처리를 한다. 스택의 최상단 노드에 방문하지 않은 인접노드가 있으면 그 인접노드를 스택에 넣고 방문처리를 한다. 방문하지 않은 인접노드가 없으면 스택에서 최상단 노드를 꺼낸다. 위의 과정을 더이상 수행할수 없을때까지 방문한다. #DFS 메서드의 정의 def dfs(graph,v, visited): #현재 노드를 방문 처리 visited[v]=True print(v,end=' ') #현재 노드와 연결된 다른 노드를 재귀적으로 방문 for i in graph[v]: if not visited[i]: dfs(graph,i,visited) #각 노드가 연결된 정보를..
: 이진탐색을 쉽게 구현할수 있도록 bisect 라이브러리 제공 bisect_left(a,x) : 정렬된 리스트 a에서 x가 들어갈 가장 왼쪽 인덱스 반환 bisect_right(a,x) : 정렬된 리스트 a에서 x가 들어갈 가장 오른쪽 인덱스 반환 from bisect import bisect_left,bisect_right #값이 [left_value,right_value]인 데이터의 개수를 반환하는 함수 def count_by_range(a,left_value,right_value): right_index = bisect_right(a,right_value) left_index = bosect_left(a,left_value) return right_index - left_index #정렬된 리스트..
heapq : heapq.heappush() : 힙에 원소를 삽입 heapq.heappop() : 힙에서 원소를 추출 우선순위 큐를 구현하고자 할때 사용 (우선순위 큐 : 들어온 순서에 상관없이 원소에 우선순위를 부여해 그 우선순위가 높은 순서대로 원소를 추출하는 큐) -파이썬- import heapq def heapsort(iterable): h=[] result = [] #모든 원소를 차례대로 힙에 삽입 for value in iterable: heapq.heappush(h,value) #최대힙 구현->-value #힙에 삽입된 모든 원소를 차례대로 꺼내어 담기 for i in range(len(h)): result.append(heapq.heappop(h)) #최대힙->-heapq.heappop(h..