Skip to content

Commit

Permalink
#26 : 10026_적록색약
Browse files Browse the repository at this point in the history
  • Loading branch information
ziy00n committed May 31, 2023
1 parent 24123db commit 069ccd0
Showing 1 changed file with 16 additions and 25 deletions.
41 changes: 16 additions & 25 deletions 이티지윤/10026_적록색약.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,11 @@
dirX = [1, -1, 0, 0]
dirY = [0, 0, 1, -1]

graph
graph = [list(input().rstrip()) for _ in range(n+1)]

#graph = [[]] # 인덱스 0은 빈 리스트로 초기화

# for _ in range(n):
# line = list(input().rstrip())
# graph.append(line)

# graph = [[]]
# for i in range(n):
# graph.append(list(sys.stdin.readline().rstrip()))
#graph
graph = [list(input().rstrip()) for _ in range(n)]

#visited
visited=[[False]*(n+1) for _ in range(n+1)]
visited=[[False]*(n) for _ in range(n)]

count1 = 0
count2 = 0
Expand All @@ -40,27 +30,28 @@ def dfs(x,y):
for i in range(4):
newX = x + dirX[i]
newY = y + dirY[i]
if not visited[newX][newY]:
if graph[newX][newY] == graph[x][y]:#위 조건 만족하면서 탐색중인 색상과 같은 색이면
dfs(newX, newY) #dfs로 탐색
if (n > newX >= 0) and (n > newY >= 0):
if not visited[newX][newY]:
if graph[newX][newY] == graph[x][y]:#위 조건 만족하면서 탐색중인 색상과 같은 색이면
dfs(newX, newY) #dfs로 탐색

# 적녹색약이 아닌 사람
for i in range(1, n+1):
for j in range(1, n+1):
for i in range(0, n):
for j in range(0, n):
if graph[i][j] and not visited[i][j]:
dfs(i, j)
count1 += 1

# 적녹색약인 사람
# 초록색->빨간색으로 변경
for i in range(1, n+1):
for j in range(1, n+1):
if graph[i][j] == 'G':
graph[i][j] = 'R'
for i in range(0, n):
for j in range(0, n):
if graph[i][j] == 'R':
graph[i][j] = 'G'
# 방문정보 초기화
visited = [[False]*(n+1) for _ in range(n+1)]
for i in range(1, n+1):
for j in range(1, n+1):
visited = [[False]*(n) for _ in range(n)]
for i in range(0, n):
for j in range(0, n):
if graph[i][j] and not visited[i][j]:
dfs(i, j)
count2 += 1
Expand Down

0 comments on commit 069ccd0

Please sign in to comment.