[백준 BOJ] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 (C++/cpp)
2022. 10. 20. 15:40ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/3003
3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰
첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.
www.acmicpc.net
접근 방법 - 기본적인 사칙연산 문제
백준의 3003번 문제는 기본적인 사칙연산을 이용하여 해결해야 하는 문제이다.
해당 문제는, 원래 있어야 하는 체스 검은색 피스와 지금 가지고 있는 체스 검은색 피스 간의 차이를 구하여 출력해야 하는 문제이다.
원래 있어야 하는 피스의 개수가 문제에 주어져있기 때문에, 여기에 각 입력값을 빼서 출력만 하면 되는 문제이다.
그렇기 때문에 사칙연산을 구현할 줄만 있다면 쉽게 해결할 수 있는 문제로 예상된다.
다만 혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 참고해보길 바란다.
필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.
코드의 실행 순서
1) 현재 가지고 있는 검은색 피스의 각 개수(arr)를 입력받는다.
2) ans 배열을 선언하여, 원래 있어야 하는 각 피스의 개수를 저장하도록 한다.
3) 반복문과 각 배열을 이용하여, 각 피스의 차이를 구하여 그 즉시 출력하도록 한다.
(이때, 공백으로 출력값들을 나누도록 한다.)
4) 출력을 완료하였다면, 실행 종료한다.
반응형
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;
//백준 3003번 코드
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int arr[6];
for (int i = 0; i < 6; i++) {
cin >> arr[i];
}
int ans[6] = { 1,1,2,2,2,8 };
for (int i = 0; i < 6; i++) {
cout << ans[i] - arr[i] << " ";
}
cout << endl;
}
제출 결과
(2022.07.13 백준 3003번 문제 제출 결과)
반응형
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 9654번 나부 함대 데이터 (C++/cpp) (0) | 2022.10.25 |
---|---|
[백준 BOJ] 2018번 수들의 합 5 (C++/cpp) (0) | 2022.10.25 |
[백준 BOJ] 2748번 피보나치 수 2 (C++/cpp) (0) | 2022.10.18 |
[백준 BOJ] 2535번 아시아 정보올림피아드 (C++/cpp) (0) | 2022.10.18 |
[백준 BOJ] 11945번 뜨거운 붕어빵 (C++/cpp) (0) | 2022.10.14 |