728x90
반응형
문제 요약
8*8 크기의 체스판은 가장 왼쪽 위칸(0,0)이 하얀색으로 시작하여 검정 칸과 하얀 칸이 번갈아 나온다.
하얀 칸 위에 있는 말이 몇 개인지 출력하는 프로그램을 작성하라.
입력
첫 번째 줄부터 8개의 줄에 체스판의 상태 입력
'.'은 빈 칸, 'F'는 말이 있는 칸
출력
첫째 줄에 문제의 정답 출력
입출력 예시
입력 | 출력 |
.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
S = []
count = 0
for _ in range(8):
S.append(input())
for i in range(8):
for j in range(8):
if i % 2 == 1 and j % 2 == 1 and S[i][j] == "F":
count += 1
if i % 2 == 0 and j % 2 == 0 and S[i][j] == "F":
count += 1
print(count)
피드백
.append()로 리스트에 입력값을 넣을 때는 input().split()말고 input()으로 해야 리스트[i][j]로 접근할 수 있음
내가 찾은 패턴
- 짝수줄에서 0과 짝수번째 글자에 "F"가 오면 count
- 홀수줄에서 홀수번째 글자에 "F"가 오면 count
다른 사람 풀이 참고
chess = [input() for _ in range(8)]
cnt = 0
for y in range(8):
for x in range(8):
if y%2 == x%2 and chess[y][x] == 'F':
cnt += 1
print(cnt)
- 입력 한 줄 처리
- x % 2 == y % 2로 코드를 줄임
728x90
반응형
'알고리즘' 카테고리의 다른 글
[자료구조:스택] 백준 10773번 제로 (0) | 2021.03.01 |
---|---|
[자료구조] 백준 10828번 스택 Python 풀이 (0) | 2021.03.01 |
[그리디] 백준 1439번 뒤집기 Python 풀이 (0) | 2021.02.24 |
[구현] 백준 1009번 분산처리 Python 풀이 (0) | 2021.02.20 |
[그리디] 백준 2847번 게임을 만든 동준이 Python 풀이 (0) | 2021.02.20 |