https://www.acmicpc.net/problem/3003
문제: 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰
문제 풀이(Problem Solve)
#include <iostream>
using namespace std;
int main() {
int chess[6];
int count[6] = {1, 1, 2, 2, 2, 8};
for(int i = 0; i < 6; i++) {
cin >> chess[i];
cout << count[i] - chess[i] << " " << endl;
}
return 0;
}
문제 해결 전략(Problem-Solving Strategies)
💡 먼저, 발견한 피스를 배열(chess)로 선언합니다. (배열로 선언하는 이유는 같은 int 자료형이 여러개가 모여있기 때문입니다.) 동시에 체스 룰에 맞는 피스 개수 또한 배열(count)로 선언합니다. 이때는 체스룰에 맞게 배열을 {1, 1, 2, 2, 2, 8} 이렇게 초기화합니다. 그리고 피스 종류의 개수(킹, 퀸, 룩, 비숍, 나이트, 폰 -> 6개)만큼의 반복문을 선언하고 count 배열에서 chess 배열을 빼주면 됩니다. (만약 chess 배열에서 count 배열을 빼면 부호가 반대로 나오기에 답이 틀리게 됩니다.)
반응형