[삼성SW역량테스트] 마법사상어와 토네이도 (백준 20057)| Python3
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import sysinput=sys.stdin.readline def get_move_order(n): orders=[] # (r,c,d) direction=[(0,-1),(1,0),(0,1),(-1,0)] r,c,d=n//2,n//2,0 for i in range(1,n): for _ in range(2): for j in range(i): mr,mc=r+direction[d%4][0], c+direction[d%4][1] orders.append((mr,mc,d%4)) r,c=mr,mc d+=1 for i in range(n-2,-1,-1): ..
[삼성SW역량테스트] 청소년 상어 (백준 19236)| Python3
풀이) 문제에 쓰여진 대로 하되, 조건을 똑바로 읽자,,,! (상어는 빈 곳으로 움직일 수 없다든가...), 그리고 dfs 호출할 때 마다 deepcopy로 보내야한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869import sysimport heapqfrom copy import deepcopyinput=sys.stdin.readline def fish_move(maps): direction=[(-1,0),(-1,-1),(0,-1),(1,-1),(1,0),(1,1),(0,1),(-1,1)] heap=make_heap(..
[삼성SW역량테스트] 상어중학교 (백준 21609)| Python3
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182import sysfrom collections import dequeinput=sys.stdin.readline def get_biggest_group(): def bfs(row,col,color): block=[] cnt_of_rainbow=0 min_r, min_c=n-1,n-1 dx, dy = [-1,1,0,0], [0,0,-1,1] queue=deque([(row,col)]) visited[row][col]=True whi..
[삼성SW역량테스트] 마법사 상어와 비바라기 (백준 21610 )| Python3
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import sysinput=sys.stdin.readline def move_cloud(d, s): new=[] direction=[None, (0,-1),(-1,-1),(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1)] for x,y in clouds: mx,my=direction[d][0]*s, direction[d][1]*s new.append([(x+mx)%n, (y+my)%n]) return new def increase_water_in_cloud(clouds): for x,y in clouds: maps[x][y]+..