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 |
Tags
- 파이썬서버
- Express
- R
- VUE
- 게임개발
- 마인크래프트뮤지컬
- 데이터베이스
- 스마일게이트
- 카렌
- 언리얼
- 스터디
- 프린세스메이커
- Ajax
- EnhancedInput
- Bootstrap4
- 레베카
- Unseen
- 으
- 알고풀자
- JWT
- 디자드
- 정글사관학교
- 프메
- Enhanced Input System
- flask
- Jinja2
- 미니프로젝트
- 언리얼프로그래머
- node
- 언리얼뮤지컬
Archives
- Today
- Total
Today, I will
[완전탐색, SWEA] 스도쿠 검증 본문
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Psz16AYEDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
스도크룰을 몰라 파리퇴치처럼 3*3 정사각형이 모든 col과 row를 도는 줄 알았는데, 반드시 3칸씩 뛰면서 돌아야 했던 문제
전체 코드
# 10
# 7 3 6 4 2 9 5 8 1
# 5 8 9 1 6 7 3 2 4
# 2 1 4 5 8 3 6 9 7
# 8 4 7 9 3 6 1 5 2
# 1 5 3 8 4 2 9 7 6
# 9 6 2 7 5 1 8 4 3
# 4 2 1 3 9 8 7 6 5
# 3 9 5 6 7 4 2 1 8
# 6 7 8 2 1 5 4 3 9
T = int(input())
for t in range(1, T+1):
arr = [list(map(int, input().split())) for i in range(9)]
ans = 1
for r in range(9):
temp_arr = []
temp_col_arr = []
for c in range(9):
if arr[r][c] in temp_arr:
ans = 0
else:
temp_arr.append(arr[r][c])
if arr[c][r] in temp_col_arr:
ans = 0
else:
temp_col_arr.append(arr[c][r])
if ans == 1:
for start_row in range(0, 9-3+1, 3):
for start_col in range(0, 9-3+1, 3):
nbyn_temp_arr = []
for row in range(start_row, start_row + 3):
for col in range(start_col, start_col + 3):
if arr[row][col] in nbyn_temp_arr:
ans = 0
else:
nbyn_temp_arr.append(arr[row][col])
print(f'#{t} {ans}')
3 by 3 씩 돌아야 한다는 걸 알고 나서도 외곽 이중 포문만 3 steps 건너뛰도록 해야하는데 안쪽 포문까지 steps 뛰게 해서 fail을 봤었다.
정답코드 포인트
오답 코드 포인트
기준 row와 기준 col에서만 3번씩 뛰어주면 되는데 굳이 안쪽 for문의 row와 col도 3번씩 뛰다가 오답 처리 맞았음
'Computer Science > 알고리즘' 카테고리의 다른 글
[알고리즘] 순열과 SWEA 최소 생산 비용 (1) | 2024.01.02 |
---|---|
[분할정복, python] 색종이 만들기 (스택과 재귀함수로 풀어보기) (1) | 2023.12.23 |
[DFS, SWEA] 미로 (0) | 2023.12.22 |
[SWEA 완전탐색] 파리퇴치(4중 포문 이용!) (0) | 2023.12.22 |
[DFS, python] 연속된 1의 개수 세기 (2) | 2023.12.21 |