본문 바로가기
728x90

알고리즘14

[python] 코딩테스트를 위한 파이썬 문법 정리 1. deque - 선입선출 큐 from collections import deque deq = deque() deq.append(1) deq.appendleft(2) deq.pop() deq.popleft() deque.append(item): item을 데크의 오른쪽 끝에 삽입 deque.appendleft(item): item을 데크의 왼쪽 끝에 삽입 deque.pop(): 데크의 오른쪽 끝 엘리먼트를 가져오는 동시에 데크에서 삭제한다. deque.popleft(): 데크의 왼쪽 끝 엘리먼트를 가져오는 동시에 데크에서 삭제한다. deque.remove(item): item을 데크에서 찾아 삭제한다. deque.rotate(num): 데크를 num만큼 회전한다(양수면 오른쪽, 음수면 왼쪽). 2. C.. 2022. 1. 5.
[DFS] 음료수 얼려 먹기 - 문제 NxM 크기의 얼음 틀이 있고 구멍이 뚫려 있는 부분을 0, 칸막이가 존재하는 부분을 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상하좌우로 붙어있는 경우 서로 연결된 것으로 간주한다. 이 때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하시오. ex) 00110 00011 11111 00000 -> 아이스크림 3개 생성 - 해설 DFS 로 해결할 수 있는 문제 1. 특정한 지점의 주변 상하좌우를 살펴본 뒤에 주변 지점 중에서 값이 0 이면서 아직 방문하지 않은 지점이 있다면 해당 지점을 방문 2. 방문한 지점에서 다시 상하좌우를 살펴보면서 방문을 다시 진행하면 연결된 모든 지점을 방문할 수 있다. 3. 1~2번의 과정을 모든 노드에 반복하며 방문하지 않은 .. 2021. 5. 17.
728x90