[Python] 딕셔너리의 기능들
두 리스트를 합치고 싶을때는 그냥 '+' 연산자를 활용하면 된다. a=[1,1,2,3,3] b=[3,4,5] print(a+b) #[1,1,2,3,3,3,4,5] 하지만 두 리스트에서 공통된 부분을 삭제해야 할 경우에는 어떻게 해야할까? 그냥 '-' 연산자를 쓰면 될까? a=[1,1,2,3,3] b=[3,4,5] print(a-b) #TypeError: unsupported operand type(s) for -: 'list' and 'list' 위 처럼 오류가 뜬다. list끼리는 '-' 연산자를 지원하지 않는다. 그렇다면 어떻게 하면될까? 여기서 집합 자료형을 사용할 수 있다. a=[1,1,2,3,3] b=[3,4,5] print(set(a)-set(b)) #{1,2} print(list(set(a)..
[백준 2667번 / 실버1] 단지번호붙이기 - (Graph Traversal)
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net from collections import deque def apart(data): num,cnt=0,0 result=[] queue=deque() dx=[1,0,-1,0] dy=[0,1,0,-1] for i in range(n): for j in range(n): if data[i][j]==1: queue.append([i,j]) data[i][j]=0 cnt+=1 while queue: x,y=..