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
- abstractpagingitemreader
- step 값 공유
- Spring Batch
- job parameter
- 트랜잭션 분리
- spring batch 5
- aop proxy
- JSONObject 분할
- JSON 분할
- JSONArray 분할
- 아이템 리더 페이징 처리
- step 여러개
- api 아이템 리더
- 스프링 트랜잭션 관리
- 마이바티스 트랜잭션
- 선언적 트랜잭션 관리
- JSON 분리
- 스프링배치 메타테이블
- stepexecutionlistener
- executioncontext
- 아이템 리더 커스텀
- flatfileitemwriter
- mybatis
- 스프링배치 엑셀
- spring batch 변수 공유
- 읽기 작업과 쓰기 작업 분리
- executioncontext 변수 공유
- 스프링배치 csv
- step 사이 변수 공유
- 스프링 배치 5
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 |