less than 1 minute read


백엔드 데브매칭 지원대상 정리

퓨처위즈 https://programmers.co.kr/job_positions/7339 typescript, nestjs

https://programmers.co.kr/competitions/1703/2021-web-be-second

sport

bj 1012 - 유기농 배추

https://www.acmicpc.net/problem/1012

python solution

단순 순회 문제


dr=[1,0,0,-1]
dc=[0,1,-1,0]

def solve():
    from collections import deque
    T=ria()[0]

    for tc in range(T):
        mm,nn,kk=ria()
        maps=create2DArray(nn,mm,0)
        for i in range(kk):
            cc,rr=ria()
            maps[rr][cc]=1
        # print(maps)
        # print2DArray(maps)

        cnt=0
        visited=create2DArray(nn,mm)
        
        for sr in range(nn):
            for sc in range(mm):
                if(maps[sr][sc]==0):
                    continue

                if(visited[sr][sc]):
                    continue
                
                qq=deque()
                qq.appendleft((sr,sc))
                # visited[sr][sc]=True
                cnt+=1

                while(qq):

                    next_item=qq.pop()
                    nr,nc=next_item
                    
                    if(visited[nr][nc]):
                        continue

                    visited[nr][nc]=True
                    
                    if(maps[nr][nc]==0):
                        continue

                    for i in range(4):
                        nnr,nnc=nr+dr[i],nc+dc[i]

                        if(not is_in_bound(nnr,nnc,nn,mm)):
                            continue
                        
                        if(maps[nnr][nnc]==1 and not visited[nnr][nnc]):
                            qq.appendleft((nnr,nnc))
        
        print(cnt)
    pass

Comments