Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- CS231n
- 백준
- 파이썬
- cs
- docker
- 프로그래머스
- 2단계
- Object detection
- 1단계
- ubuntu
- 3단계
- 이것이 코딩테스트다 with 파이썬
- 그리디
- 머신러닝
- MySQL
- 코드수행
- AWS
- ssd
- test-helper
- 구현
- SWEA
- 딥러닝
- 자료구조 및 실습
- pytorch
- STL
- 전산기초
- 모두를 위한 딥러닝 강좌 시즌1
- 실전알고리즘
- C++
- Python
Archives
- Today
- Total
곰퓨타의 SW 이야기
[05-10 bfs/dfs] 음료수 얼려먹기 본문
최근 보고 있는 책인 '이것이 코딩테스트다 with 파이썬 편_나동빈_한빛미디어' 에 있는 문제이다.
www.hanbit.co.kr/store/books/look.php?p_code=B8945183661
이것이 취업을 위한 코딩 테스트다 with 파이썬
IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년부터 2020년까지의 코딩 테스트와 알고리즘 대회의 기출문제를 엄선하여 수록하였다.
www.hanbit.co.kr
문제는 책 안에 있다!!
나는 이 문제에 접근하기 위해 아래와 같은 방법을 이용했다.
접근 방식은 책과 비슷한 것 같았다. 아무래도 책에서 익힌 방법들로 계속 하다보니 비슷하게 접근한 것 같다.
n,m = map(int,input().split())
graph = []
for i in range(n):
graph.append(list(map(int,input())))
def dfs(x,y):
if x<0 or x>n-1 or y<0 or y>m-1 :
return False
if graph[x][y]:
return False
graph[x][y] = 1
dfs(x-1,y)
dfs(x+1,y)
dfs(x,y-1)
dfs(x,y+1)
return True
count = 0
for a in range(n):
for b in range(m):
if dfs(a,b) :
count += 1
print(count)
이 문제는 bfs/dfs 코딩이 익숙하지 않아서 오래 걸렸는데, 열심히 숙지해야겠다 !!
'TIL > 이것이 코딩테스트다_파이썬 문제 (백준문제 外)' 카테고리의 다른 글
[06-10 정렬] 위에서 아래로 (0) | 2021.04.16 |
---|---|
[05-11 dfs/bfs] 미로탈출 (0) | 2021.04.16 |
[04-4 구현] 게임 개발 (0) | 2021.04.15 |
[04-3 구현] 왕실의 나이트 (0) | 2021.04.15 |
[04-2 구현] 시각 (0) | 2021.04.15 |
Comments