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
- sql 기술면접
- springboot
- 프로래머스
- 백준 파이썬
- JVM
- JPA
- 백준 16719
- 백준
- 백준 19238
- MySQL
- spring oauth
- 웹어플리케이션 서버
- spring cloud
- Coroutine
- 백준 17779
- re.split
- 프로그래머스
- java 기술면접
- Spring
- Kotlin
- 백준 16236
- 백준 16235
- MSA
- spring security
- 백준 17626
- Spring Boot
- 파이썬
- 백준 15685
- with recursive
- java
Archives
- Today
- Total
시작이 반
[백준] 1780번 (python 파이썬) 본문
SMALL
NxN행렬을 검사한뒤 일괄된 숫자가 아니면 9등분 하는 문제이다.
9등분한 행렬을 각각 다시 재귀를 돌려서 검사한다.
백준 1021번 문제와 유사한 문제이다.
n = int(input())
graph = [list(map(int, input().split())) for _ in range(n)]
one_count = 0
zero_count = 0
m_one_count = 0
def dnc(x, y, n):
global one_count, zero_count, m_one_count
check = graph[x][y]
for i in range(x, x + n):
for j in range(y, y + n):
if check != graph[i][j]:
check = -2
break
if check == -2:
n = n // 3
dnc(x, y, n)
dnc(x, y + n, n)
dnc(x, y + 2 * n, n)
dnc(x + n, y, n)
dnc(x + n, y + n, n)
dnc(x + n, y + 2 * n, n)
dnc(x + 2 * n, y, n)
dnc(x + 2 * n, y + n, n)
dnc(x + 2 * n, y + 2 * n, n)
elif check == 1:
one_count += 1
elif check == 0:
zero_count += 1
else:
m_one_count += 1
dnc(0, 0, n)
print(m_one_count)
print(zero_count)
print(one_count)
LIST
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2168번 (python 파이썬) (0) | 2021.03.15 |
---|---|
[백준] 20003번 (python 파이썬) (0) | 2021.03.14 |
[백준] 1992번 (python 파이썬) (0) | 2021.03.06 |
[백준] 2630번 (python 파이썬) (0) | 2021.03.06 |
[백준] 1021번 (python 파이썬) (0) | 2021.03.04 |