C++/백준 C++

C++ 1475 방 번호 [구현]

CE : 하랑 2024. 11. 5. 17:39

 

 

 

-> std::vector의 인덱스 값을 기준으로 값을 증가

-> 6과 9를 한 쌍으로 묶어서 2개를 하나로 생각해서 풀어나감

 

코드

#include <iostream>
#include <vector>
#include <algorithm>


int main()
{
	std::vector<int> nums;
	
	nums.resize(10);

	long long  n;
	std::cin >> n;

	while (n > 0)
	{
		int index = n % 10;

		++nums[index];

		n /= 10;

	}

	int MaxCount = 0;

	for (int i = 0; i < 10; i++)
	{
		if (MaxCount < nums[i] && i != 6 && i != 9)
		{
			MaxCount = nums[i];
		}
	}


	int count69 = nums[6] + nums[9];

	if (count69 >= 2)
	{
		if (count69 % 2 == 0)
		{
			count69 = count69 / 2;
		}
		else
		{
			count69 = (count69 / 2)+1;
		}
	}
	

	if (MaxCount < count69)
	{
		std::cout << count69 << "\n";
		return 0;
	}

	std::cout << MaxCount << "\n";
	return 0;
}