본문 바로가기

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

@hyeon.s2022. 12. 23. 19:29
#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값을 통해서 세트값을 구함.

'알고리즘 > 문제풀이 (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
hyeon.s
@hyeon.s :: 개발로그
목차