[백준 알고리즘] 10026번 적록색약, 파이썬(python)
글 작성자: 망고좋아
반응형
10026, 적록색약
📁 문제 출처
💡 생각
- graph를 입력받고 G를 R로 모두 바꿔주는 새로운 배열을 만들어준다.
graph[i][j] in 'RGB'
면 bfs함수 실행하면서 count 해주기
🛠 나의 코드
from collections import deque
n = int(input())
graph = []
graph_red = [['0'] * n for i in range(n)]
for i in range(n):
graph.append(list(input()))
for i in range(n):
for j in range(n):
if graph[i][j] == 'G':
graph_red[i][j] = 'R'
else:
graph_red[i][j] = graph[i][j]
dx = [0, 0, 1, -1]
dy = [1, -1, 0, 0]
def bfs(a, b, graph, color):
queue = deque()
queue.append((a, b))
graph[a][b] = '0'
while queue:
x, y = queue.popleft()
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < n and 0 <= ny < n and graph[nx][ny] == color:
graph[nx][ny] = '0'
queue.append((nx, ny))
cnt = 0
cntRed = 0
for i in range(n):
for j in range(n):
if graph[i][j] in 'RGB':
bfs(i, j, graph, graph[i][j])
cnt += 1
if graph_red[i][j] in 'RB':
bfs(i, j, graph_red, graph_red[i][j])
cntRed += 1
print(cnt, cntRed)
✔️ 배운 점 및 주의할 점
- 적록색약은
골드
인데 직전에 풀었던실버1-안전영역(2468)
문제보다 쉬웠다. - 오히려 2468번이 더더더 어려웠다. 다른 사람도 나와 비슷한 느낌인지 정답률 보면 적록색약은 57퍼고 안전영역은 34퍼이다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘] 11725번 트리의 부모 찾기, 파이썬(python) (0) | 2021.08.26 |
---|---|
[백준 알고리즘] 3184번 양, 파이썬(python) (0) | 2021.08.26 |
[백준 알고리즘] 2468번 안전 영역, 파이썬(python) (0) | 2021.08.25 |
[백준 알고리즘] 2583번 영역 구하기, 파이썬(python) (0) | 2021.08.24 |
[백준 알고리즘] 7562번 나이트의 이동, 파이썬(python) (0) | 2021.08.24 |
댓글
이 글 공유하기
다른 글
-
[백준 알고리즘] 11725번 트리의 부모 찾기, 파이썬(python)
[백준 알고리즘] 11725번 트리의 부모 찾기, 파이썬(python)
2021.08.26 -
[백준 알고리즘] 3184번 양, 파이썬(python)
[백준 알고리즘] 3184번 양, 파이썬(python)
2021.08.26 -
[백준 알고리즘] 2468번 안전 영역, 파이썬(python)
[백준 알고리즘] 2468번 안전 영역, 파이썬(python)
2021.08.25 -
[백준 알고리즘] 2583번 영역 구하기, 파이썬(python)
[백준 알고리즘] 2583번 영역 구하기, 파이썬(python)
2021.08.24