다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.
첫째 줄에 필요한 세트의 개수를 출력한다.
6과 9는 서로 대체 가능하다
따라서 6과 9는 구분하지 않는다.
0-8까지, 즉 9개의 인덱스를 가진 배열을 만들고 각 데이터를 0으로 초기화한다.
입력받은 수의 각 자리수를 읽어서 해당 수의 인덱스의 값을 ++해준다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> nums(9);
while(n>0){
if(n%10 ==9)
nums[6]++;
else
nums[n%10]++;
n/=10;
}
nums[6] = (nums[6]+1)/2;
int result = *max_element(nums.begin(), nums.end());
cout << result;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int SIZE=10;
int main (void){
int roomNum;
cin >> roomNum;
vector<int> nums(SIZE);
while(roomNum){
nums[roomNum%10]++;
roomNum /=10;
}
nums[6] = (nums[6]+nums[9]+1)/2;
nums[9] = 0;
cout << *max_element(nums.begin(), nums.end());
return 0;
}