1. 문제 링크

https://www.acmicpc.net/problem/2490

 

2490번: 윷놀이

우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 개, 등 세 개), 개(배 두 개, 등 두 개), 걸(배 세 개, 등 한 개), 윷(배 네 개), 모(등 네 개) 중 어떤 것인지를 결정하는 프로그램을 작성하라.

www.acmicpc.net

 

 

 

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

+ Recent posts