728x90
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
string N;
vector<int> vec(10);
int max = vec[1];
fill(vec.begin(), vec.end(), 0);
cin >> N;
for (int i = 0; i < N.length(); i++)
{
vec[N[i] - '0']++;
if (vec[6] > vec[9] + 1)
{
vec[6]--;
vec[9]++;
}
else if (vec[9] > vec[6] + 1)
{
vec[9]--;
vec[6]++;
}
}
for (int i = 0; i < 10; i++)
{
if (max < vec[i])
{
max = vec[i];
}
}
cout << max << "\n";
}
string 으로 입력 받아 vec[N[i]-'0'] 로 1~9 인덱스에 값 ++
6을 9로 사용하는 경우/ 9를 6으로 사용하는 경우를 두 if문으로 나타냄.
1~9중 ex) 1 1 1 2 ... 1 이런식으로 값이 들어있으면 세트 2개가 필요하므로 max값을 통해서 세트값을 구함.
728x90
'알고리즘 > 문제풀이 (C++,Kotlin)' 카테고리의 다른 글
[BOJ/C++] 3273번 두 수의 합 (0) | 2022.12.26 |
---|---|
[BOJ/C++] 1406번 에디터 (0) | 2022.12.23 |
[BOJ/C++] 1966번 프린터 큐 (0) | 2022.11.05 |
[C++] 백준 2675 (0) | 2022.01.31 |
[C++] 백준 10809 (0) | 2022.01.31 |