공부하기/백준

[Python] 백준 풀기 1100 - 하얀 칸

XEV 2023. 1. 4. 23:02

파이썬 백준 1100번

브론즈 2

https://www.acmicpc.net/problem/1100

 

1100번: 하얀 칸

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

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현, 문자열

 

 

 

 

 

문제 풀기

주어진 문자열을 한 줄의 리스트에 모두 넣고 짝수 index (흰색 칸) 에 대해 'F' 가 있는지 검사한다.

이때 리스트에 입력되는 각각의 row 줄은 흰색과 검은색이 변경되기 때문에 마지막에 index 를 하나 늘리기 위한 문자 '0' 을 매 줄 추가시킨다.

 

 

 

 

 

코드 보기

import sys
inputdata = sys.stdin.readline


def fnChessOnWhite():
    count = 0
    for i in range(len(chess_ls)):
        if i % 2 == 0 and chess_ls[i] == 'F':
            count += 1
    print(count)


if __name__ == "__main__":
    chess_ls = []
    for _ in range(8):
        ch_ls = list(map(str, inputdata().strip()))
        chess_ls.extend(ch_ls)
        chess_ls.extend('0')
    print(chess_ls)         # TEST PRINT
    
    fnChessOnWhite()



# .F.F...F
# F...F.F.
# ...F.F.F
# F.F...F.
# .F...F..
# F...F.F.
# .F.F.F.F
# ..FF..F.

# ['.', 'F', '.', 'F', '.', '.', '.', 'F', '0', 'F', '.', '.', '.', 'F', '.', 'F', '.', '0', '.', '.', '.', 'F', '.', 'F', '.', 'F', '0', 'F', '.', 'F', '.', '.', '.', 'F', '.', '0', '.', 'F', '.', '.', '.', 'F', '.', '.', '0', 'F', '.', '.', '.', 'F', '.', 'F', '.', '0', '.', 'F', '.', 'F', '.', 'F', '.', 'F', '0', '.', '.', 'F', 'F', '.', '.', 'F', '.', '0']

# 1