From 069ccd0601709a3f8432d4f152a46312cced8dd9 Mon Sep 17 00:00:00 2001 From: Jiyun Kim Date: Wed, 31 May 2023 19:12:31 +0900 Subject: [PATCH] =?UTF-8?q?#26=20:=2010026=5F=EC=A0=81=EB=A1=9D=EC=83=89?= =?UTF-8?q?=EC=95=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...01\353\241\235\354\203\211\354\225\275.py" | 41 ++++++++----------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git "a/\354\235\264\355\213\260\354\247\200\354\234\244/10026_\354\240\201\353\241\235\354\203\211\354\225\275.py" "b/\354\235\264\355\213\260\354\247\200\354\234\244/10026_\354\240\201\353\241\235\354\203\211\354\225\275.py" index 786a158..30d320b 100644 --- "a/\354\235\264\355\213\260\354\247\200\354\234\244/10026_\354\240\201\353\241\235\354\203\211\354\225\275.py" +++ "b/\354\235\264\355\213\260\354\247\200\354\234\244/10026_\354\240\201\353\241\235\354\203\211\354\225\275.py" @@ -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 @@ -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