반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 1100번 하얀 칸 파이썬(Python)

1) 문제번호 : 1100번

 

2) 문제 출처

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

 

1100번: 하얀 칸

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

www.acmicpc.net

 

2. 문제

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

 

3. 제약사항


4. 입력

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

 

5. 출력

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

 

6. 풀이

- (0,0)부터 흰색이 시작한다. 행과 열의 위치 값이 2로 나눠떨어지면 흰색칸이다.

- 그래서, 행과 열의 위치값을 더한 후에 2로 나눠 떨어지고, 그 자리에 F(말)가 있으면 result를 1 증가시켜준다.

 

7. 소스 코드

import sys
input=sys.stdin.readline

board = []

# 체스판 입력
for i in range(8) :
    board.append(list(map(str, input())))

#흰색 위에 말 개수
result = 0

# 체스판 전체 탐색
for i in range(8) :
    for j in range(8) :
        # 체스판 위치가 2로 나눠 떨어지고
        if (i+j) % 2 ==0 :

            # 그 위에 말이 있다면
            if board[i][j]=='F':
                # 말 개수 증가
                result += 1

print(result)

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기