1. 문제 링크
https://www.acmicpc.net/problem/2490
2. 문제 설명
총 12개의 숫자를 입력받아 계산 후 출력하는 문제입니다.
3. 소스코드
BOJ 2490번 윷놀이 C++ 풀이입니다.
#include <iostream>
using namespace std;
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
for (int i = 0; i < 3; i++) {
int sum = 0, temp;
for (int j = 0; j < 4; j++) cin >> temp, sum += temp;
if (sum == 0) cout << 'D';
else if (sum == 1) cout << 'C';
else if (sum == 2) cout << 'B';
else if (sum == 3) cout << 'A';
else if (sum == 4) cout << 'E';
cout << '\n';
}
return 0;
}
11번 라인의 for문을 이용해 4번씩 돌면서 temp에 입력받은 값을 sum에 누적시킨 후,
아래 if ~ else if문을 이용해 문제에서 주어진대로 출력하는 과정을 3번 반복하면 됩니다.
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int sum;
vector<int> v(4);
for (int i = 0; i < 3; i++) {
cin >> v[0] >> v[1] >> v[2] >> v[3];
sum = accumulate(v.begin(), v.end(), 0);
if (sum == 0) cout << 'D';
else if (sum == 1) cout << 'C';
else if (sum == 2) cout << 'B';
else if (sum == 3) cout << 'A';
else if (sum == 4) cout << 'E';
cout << '\n';
}
return 0;
}
vector를 이용해서 4개씩 숫자를 받고, accumulate함수를 이용해서 sum을 구한 후 결과를 출력해도 됩니다.
accumulate함수를 사용하기 위해서는 <numeric> 헤더를 include해야합니다.
accumulate함수의 사용법은 accumulate(시작 지점, 끝 지점, 초기값)입니다.
'Algorithm > Study' 카테고리의 다른 글
[백준 2576번 C++] 홀수 (0) | 2020.04.29 |
---|---|
[백준 2562번 C++] 최댓값 (0) | 2020.04.29 |
[백준 2480번 C++] 주사위 세개 (0) | 2020.04.29 |
[백준 2753번 C++] 윤년 (0) | 2020.04.29 |
[백준 2752번 C++] 세수정렬 (0) | 2020.04.28 |