백준 11559 [bfs]
answer = 0 arr = [input() for _ in range(12)] for i in range(12) : arr[i] = list(arr[i]) def bfs(i, j, visited) : target = arr[i][j] q = [[i,j]] dirs = [[1,0],[-1,0],[0,1],[0,-1]] ret = [[i,j]] while q : y ,x = q.pop(0) for dir in dirs: nextY, nextX = y+dir[0], x+dir[1] if nextX >=0 and nextX =0 and nextY < 12 and arr[nextY][nextX] == target and not visited[nextY][nextX]: visited[..
더보기
정규 표현식 기초활용 - 전화번호, 금액 찾기
1. 금액 찾기 \d{1,3}(,\d{3})* 금액은 보통 , 를 구분자로 해서 12,345,678 이런식의 형태를 갖는다. 숫자를 찾을거니까 \d를 한 뒤에 첫번째에 나오는 숫자는 1~3자리니까 {1,3} 으로 해두면 \d{1,3}은 1~3자리의 숫자를 찾을 것이다. 이후에는 ,333,333,333 이런식의 패턴이 반복될 것이다. 그러므로 뒤에 값이 있다면 컴마와 숫자 3개가 나올것임이 보장되어있으므로 ,\d{3} 을 하고 이들을 소괄호로 감싸서 반복자를 붙일 수 있게 해준다. 반복자는 *를 붙인다. 없을 수도 있으니 0개 이상을 의미하는 *를 붙인다. (+는 1개 이상을 의미) 2. 전화번호 찾기 전화번호는 좀 더 쉽다. 000-0000-0000의 형식이라고 가정했을때 \d{3}으로 맨앞에 숫자 3개..
더보기