Algorithm/Online judge

[백준] 1100번 > 하얀 칸

민철킹 2021. 2. 17. 16:29

www.acmicpc.net/problem/1100

 

1100번: 하얀 칸

체스판은 8*8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램

www.acmicpc.net

문제

체스판은 8*8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.

입력

첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.

출력

첫째 줄에 문제의 정답을 출력한다.

예제 입력 1

.F.F...F

F...F.F.

...F.F.F

F.F...F.

.F...F..

F...F.F.

.F.F.F.F

..FF..F.

예제 출력 1

1

 


하얀칸이고 F인 것만 카운트하면 된다. 색깔은 color 변수에 True False값을 넣어 판별한다. 하얀색 True, 검은색 False

(초기값은 True ==> (0,0)이 하얀색 )

import sys
chess = [sys.stdin.readline().strip() for _ in range(8)]
count = 0
color = True
for i in chess:
    for j,p in enumerate(i):
        if p == "F" and color:
            count += 1
        else:
            pass
        if j == 7:
            pass
        else:
            if color:
                color = False
            else:
                color = True
print(count)

F이고 color가 True면 +1 해준다. j==7 이면 색을 변경하지 않는 것은 줄바꿈을 위한 설정이다.

 

반응형