본문 바로가기
코딩테스트/파이썬

[백준] [파이썬/Python] 1100번 : 하얀 칸 풀이/ rstrip(), 2차원 배열 응용

by JI NY 2023. 2. 16.
 

[백준] [파이썬/Python] 1100번 : 하얀 칸

문제

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

입력

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

출력

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

 


코드

from sys import stdin

array = []
array2 =[]
count =0
for i in range(8):
    array2 = list(stdin.readline().rstrip()) #\n제거
    array.append(array2)

for i in range(0,8,2):
    for j in range(0,8,2):
        if array[i][j] == 'F':
            count +=1

for i in range(1,8,2):
    for j in range(1,8,2):
        if array[i][j] == 'F':
            count +=1

print(count)
  • 이 문제에서 가장 중요한 점은, ‘왼쪽 위칸 (0,0)은 하얀색이다’라는 부분이다.
  • 인터넷에 아무 체스판이나 보고 검정색 제일 위 칸을 (0,0)으로 했더니 처음에 왜 틀렸지? 하면서 보고 있었다

 

  • 8번 반복해서 2차원 배열을 만들어준다.
    • stdin.readline().rstrip() ->을 하면, \n을 제거하고 입력 받을 수 있다.
  • 체스판의 0,2,4,6번째 row에서 0,2,4,6번째 column 에 말이 있는지 비교한다.
  • 체스판의 1,3,5,7번째 row에서 1,3,5,7번째 column 에 말이 있는지 비교한다.
    • 말이 있으면 count+1 해준다.

댓글