YJ/C++

[백준/BOJ/C++] 1475번 방 번호

Team DAON 2021. 10. 27. 15:49

[문제]

다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.

다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)

 

[입력]

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.

 

[출력]

첫째 줄에 필요한 세트의 개수를 출력한다.

 

[Source Code]

#include <stdio.h>
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int main() {
	int arr[10] = {0,0,0,0,0,0,0,0,0,0};
	int max = 0;
	int input;
	cin >> input;

	while(input > 0){
		arr[input % 10]++;
		input /= 10;
	}

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

	if((arr[6] + arr[9]) > max * 2){
		max = (arr[6] + arr[9]) / 2;
		if((arr[6] + arr[9]) % 2 == 1)
			max++;
	}

	cout << max;
}

[결과 화면]