Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 1100번- '하얀 칸' (PYTHON 풀이) 본문
문제:

체스판이 있을 때 하얀 칸에 F가 몇개 있는지 세는 문제이다.
여기서 주의할 점은 체스판을 생각해보면, 각 색이 매번 동일한 칸에 있는 게 아니라 지그재그처럼 한 칸씩 바뀐다는 것이다.
그래서 첫째줄에서 스타트가 흰색이었다면 둘째줄 스타트는 검정, 그 다음 줄 스타트는 흰색.. 이런식으로 왔다갔다 바뀐다는 것을 유의하고 코드를 작성해야 한다.
풀이:
board = []
count = 0
for q in range(8):
board.append(input())
for i in range(8):
for j in range(8):
if i % 2 == 1 and j % 2 == 1 and board[i][j] == "F":
count += 1
if i % 2 == 0 and j % 2 == 0 and board[i][j] == "F":
count += 1
print(count)
체스판을 그릴 리스트 형태의 board 변수와 F의 개수를 셀 count 변수를 선언한다.
그 다음 체스판은 총 8줄이므로 반복문을 통해 각 라인을 입력 받는다.
그리고 이중 반복문을 돌면서 각 라인이 홀수이면서, 홀수 자리에 위치해 있는 곳이 F인지 검사하고 F라면 카운트를 1 증가한다. 또한 각 라인이 짝수이면서, 짝수 자리에 위치해 있는 곳이 F인지 검사하고 F이면 카운트를 1 증가시킨다.
이렇게 조건문이 두개인 이유는 앞서 말한 것처럼, 체스판은 지그재그이기 때문이다.
첫번째 줄 스타트가 흰색 칸일 때 두번째 줄에서 흰색은 두번째칸부터 있을 것이다. 그래서 홀수 라인일 땐 홀수 자리, 짝수 라인일 땐 짝수 자리이기 때문에 조건문을 두개 써서 count를 증가시켜주고 이를 출력하면 해당 문제를 풀 수 있다.
'CODING 💻' 카테고리의 다른 글
| 백준 4101번- '크냐?' (PYTHON 풀이) (0) | 2026.01.03 |
|---|---|
| 백준 2752번- '세수정렬' (PYTHON 풀이) (0) | 2026.01.02 |
| 백준 11723번- '집합' (PYTHON 풀이) (0) | 2025.12.31 |
| 백준 2522번- '별 찍기 - 12' (PYTHON 풀이) (0) | 2025.12.30 |
| 백준 9656번- '돌 게임 2' (PYTHON 풀이) (0) | 2025.12.29 |
