반응형
https://www.acmicpc.net/problem/1100
문제
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제 입력 1 복사
.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
풀이
위의 그림처럼 하얀칸에 F가 입력되면 그것을 카운트해서 개수를 알아내는 문제이다.
1. 이중 for문을 이용해서 i%2==0 이고 j%!=0 일때 문자가 F라면 cnt++한다.
2 . i%2!=0 이고 j%2==0 일때 문자가 F라면 cnt++한다.
코드
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int cnt=0;
for(int i=1; i<=8; i++){
cin>>str;
int len=str.length();
for(int j=0; j<len; j++){
if(i%2==0){
if(j%2!=0){
if(str[j]=='F'){
cnt++;
}
}
}
else{
if(j%2==0){
if(str[j]=='F'){
cnt++;
}
}
}
}
}
cout<<cnt;
}
|
cs |
평소에 별찍기를 많이 해보신 분들이라면 손쉽게 풀었을 문제이다.
이중 for문 i와 j의 열과 행이 많이 헷갈릴수도 있다.
반응형
'백준 > C++' 카테고리의 다른 글
[BaeKJoon/C++] 백준 5656 c++ 비교 연산자 (0) | 2022.02.05 |
---|---|
[BaeKJoon/C++] 백준 2774 c++ 아름다운 수 (0) | 2022.02.05 |
[BaeKJoon/C++] 백준 2386 c++ 도비의 영어 공부 (0) | 2022.02.05 |
[BaeKJoon/C++] 백준 10101 c++ 삼각형 외우기 (0) | 2022.01.17 |
[BaeKJoon/C++] 백준 5026 c++ 박사 과정 (0) | 2022.01.17 |