14500. 테트로미노
최근 코딩테스트에서 이 테트로미노와 비슷한 문제를 접했다. 백준에서 문제를 찾아보니 비슷한 문제들이 몇개 있어서 풀어보자! 탐색을 한다고 했을 때 처음 블록을 깊이 1 두번째 블록을 깊이 2라고해보자. 깊이 2에서는 탐색 방법 살짝 다르다. ㅗ 모양 같은 경우는 탐색하려면 아래와 같이 해야한다. 그냥 무작정 전진해버리면 ㅗ 모양은 탐색할 수 없다. N,M = map(int,input().split()) board = [list(map(int,input().split())) for _ in range(N)] ans = 0 dx,dy = [0,1,0,-1],[1,0,-1,0] visited = [[0]*M for _ in range(N)] max_value = max(map(max,board)) def df..
2638. 치즈
치즈가 먹고싶다. bfs문제이다. 그래프 탐색문제는 뭔가 코테에서 만나면 아직 어렵게 느껴진다. 다 연습이 부족해서겠지. 이 문제는 바깥 공간과 접촉한 치즈만 녹는다. 이게 힌트이다. 그냥 무지성 bfs (0,0)에서 해주고, 그에 따라서 외부와 접촉한 치즈 (1 ) 을 1씩 증가시킨다. (접촉할 때마다) 즉 3이상이면 2번이상 접촉한거고 다음 반복에서 삭제하면 된다. import sys from collections import deque input = sys.stdin.readline n,m=map(int,input().split()) board = [list(map(int,input().split())) for _ in range(n)] dx,dy=[0,0,1,-1],[1,-1,0,0] ans = ..