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
- date_format
- 스프링 배치 공식문서
- JobExecutionAlreadyRunningException
- nonblocking
- org.json
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- JSON 분해
- 날짜형을 문자형으로
- JSONObject 분할
- jar 소스보기
- 스프링 리액티브 프로그래밍
- 성능개선
- 마이바티스 트랜잭션
- JSON 분할
- batchInsert
- str_to_date
- multi update
- 스프링 웹플럭스
- spring webflux
- git stage
- 폐기하기
- 무시하기
- 마리아디비
- JSON 분리
- Meta Table
- JSONArray 분할
- 스프링 배치 메타 테이블
- 문자형을 날짜형으로
- spring reactive programming
- 스테이지에 올리기
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