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 |
Tags
- JSONObject 분할
- step 사이 변수 공유
- 선언적 트랜잭션 관리
- step 값 공유
- 스프링배치 엑셀
- mybatis
- JSONArray 분할
- stepexecutionlistener
- job parameter
- JSON 분할
- spring batch 5
- 마이바티스 트랜잭션
- Spring Batch
- 트랜잭션 분리
- 아이템 리더 커스텀
- 스프링 배치 5
- aop proxy
- executioncontext
- JSON 분리
- 스프링배치 메타테이블
- 읽기 작업과 쓰기 작업 분리
- api 아이템 리더
- 스프링배치 csv
- spring batch 변수 공유
- 아이템 리더 페이징 처리
- abstractpagingitemreader
- executioncontext 변수 공유
- flatfileitemwriter
- 스프링 트랜잭션 관리
- step 여러개
Archives
- Today
- Total
ebson
boj.kr/1080 체스판 다시 칠하기 (silver4) 파이썬 풀이 본문
ALGORITHM STUDY WITH PYTHON/Bruteforce
boj.kr/1080 체스판 다시 칠하기 (silver4) 파이썬 풀이
ebson 2024. 5. 25. 20:541. N 행 M 열의 체스판을 순회하면서 아래를 수행
1.1. 0행 0열을 B로 시작하는 체스판으로 바꾸는 경우에 바꿔야 하는 칸의 개수를 카운트
1.2. 0행 0열을 W로 시작하는 체스판으로 바꾸는 경우에 바꿔야 하는 칸의 개수를 카운트
2. N 행 M 열의 체스판에서 8*8 크기의 체스판을 구하는 모든 경우에 아래를 수행
2.1. 0행 0열을 B로 시작하는 경우, cntList 으로 8*8 크기의 체스판에서 바꿔야 하는 칸의 개수를 추가
2.1. 0행 0열을 W로 시작하는 경우, cntList 으로 8*8 크기의 체스판에서 바꿔야 하는 칸의 개수를 추가
3. cntList 에서 최소값을 출력
N, M = map(int, input().split())
board = [input() for _ in range(N)]
cntBoardB = [[0 for _ in range(M)] for _ in range(N)]
cntBoardW = [[0 for _ in range(M)] for _ in range(N)]
for r in range(N):
for c in range(M):
if r % 2 == 0:
if c % 2 == 0:
if board[r][c] == 'W':
cntBoardB[r][c] = 1
if board[r][c] == 'B':
cntBoardW[r][c] = 1
if c % 2 == 1:
if board[r][c] == 'B':
cntBoardB[r][c] = 1
if board[r][c] == 'W':
cntBoardW[r][c] = 1
if r % 2 == 1:
if c % 2 == 0:
if board[r][c] == 'B':
cntBoardB[r][c] = 1
if board[r][c] == 'W':
cntBoardW[r][c] = 1
if c % 2 == 1:
if board[r][c] == 'W':
cntBoardB[r][c] = 1
if board[r][c] == 'B':
cntBoardW[r][c] = 1
cntList = []
cntB = 0
cntW = 0
for i in range(N-7):
for j in range(M-7):
for k in range(8):
for l in range(8):
cntB += cntBoardB[i+k][j+l]
cntW += cntBoardW[i+k][j+l]
cntList.append(cntB)
cntList.append(cntW)
cntB = 0
cntW = 0
print(sorted(cntList)[0])
'ALGORITHM STUDY WITH PYTHON > Bruteforce' 카테고리의 다른 글
boj.kr/14889 스타트와 링크 (silver2) 자바 풀이 (0) | 2024.06.01 |
---|---|
boj.kr/1080 체스판 다시 칠하기 (silver4) 자바 풀이 (0) | 2024.06.01 |
boj.kr/15686 치킨 배달 (gold5) 파이썬 풀이 (0) | 2023.04.22 |
boj.kr/2468 안전 영역 (silver1) 파이썬 풀이 (0) | 2023.04.21 |
boj.kr/14889 스타트와 링크 (silver2) 파이썬 풀이 (0) | 2023.04.20 |
Comments