본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #1100: 하얀 칸

www.acmicpc.net/problem/1100

 

1100번: 하얀 칸

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

www.acmicpc.net

 

[문제]

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

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

 

 

[문제 접근]

문제만 읽었을 때는 무슨 소리인지 몰랐는데 체스판을 떠올리고 나서 이해가 갔다.

체스판을 생각하면서 하얀 칸 위의 말의 개수를 출력하면 된다.

홀수줄은 1,3,5,7번째 짝수줄은 2,4,6,8번째가 하얀 칸이다.

 

 

[정답]

 

1. 말이 놓인 체스판의 상태를 입력받기 위한 리스트 chess와 하얀 말의 개수를 저장할 변수 ans을 선언한다.

2. for문을 돌면서 체스판의 상태를 chess에 입력받는다.

3. for문을 돌면서 하얀 칸 위의 말의 개수를 센다. 만약 짝수줄이고 그 줄의 0,2,4,6번째가 'F'라면 하얀 말이 있다는 뜻이므로 ans+=1을 해준다. 만약 홀수줄이고 그 줄의 1,3,5,7번째가 'F'라면 하얀 말이 있다는 뜻이므로 ans+=1을 해준다.

4. 최종적으로 하얀 말의 개수 ans을 출력한다.