백준

백준 : 1475 방 번호 C++

TIN9 2022. 9. 5.
반응형
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>

int main()
{
	// 코테에서만 사용하는 함수들
	// 개발 환경에서는 사용x
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);

	int RoomNumber;

	// 방 번호를 입력
	std::cin >> RoomNumber;

	float Array[10] = {};

	for (int i = 0; i < RoomNumber;)
	{
		int Index = RoomNumber % 10;
		
        // 6, 9는 하나로 취급이여서 반으로 쪼갠다고 생각함.
		if (Index == 6 || Index == 9)
		{
			Array[6] += 0.5f;
			Array[9] += 0.5f;
		}
		else
			Array[Index]++;

		RoomNumber /= 10;
	}

	float Numb6 = Array[6];

	// 배열 정렬 내림차순정렬
	std::sort(Array, Array + 10, std::greater<float>());

	if (Numb6 >= Array[0])
	{
    	// float타입 자료형은 나머지 연산자 처리가 안되기 때문에
        // fmodf()함수를 이용하여 나머지를 계산해줌
		float Numb = Numb6 * 10.f;
		if (fmodf(Numb, 10.f) == 5.f)
			std::cout << Numb6 + 0.5f;
		else
			std::cout << Numb6;
	}
	else
		std::cout << Array[0];
}
반응형

'백준' 카테고리의 다른 글

백준 : 5397 키로거 C++  (0) 2022.09.05
백준 : 10807 개수 세기 C++  (0) 2022.09.05
백준 : 3273 두 수의 합 C++  (0) 2022.09.05
백준 : 2577 숫자의 개수  (0) 2022.09.05
백준 : 10808 알파벳 개수  (0) 2022.09.02

댓글