1475번: 방 번호 (acmicpc.net)

 

1475번: 방 번호

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

www.acmicpc.net

 

6과 9를 바꿔서 사용할 수 있으므로 0~8까지만 체크하고 그거에 대한 예외처리들만 해줬다.

 

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

int roomNumber;

int func()
{
	int temp = 0;
	vector<int> number;
	number.resize(9); // 0~8까지 체크

	do
	{
		temp = roomNumber % 10;
		if (temp == 9)
			number[6] += 1;
		else
			number[temp] += 1;
		roomNumber /= 10;
	} while (roomNumber >= 1);
	

	number[6] % 2 ? number[6]++ : 0;
	number[6] /= 2;

	sort(number.begin(), number.end(), greater<int>());

	return number[0];
}


int main()
{
	cin >> roomNumber;
	cout << func();
}

 

 

쉬워보이기도 했고 금방 풀어서 제출했는데 안되길래 0일 때도 해보고 이것저것 해봤는데

while문 조건에 number >= 1 를 해줘야 되는데 그냥 >만 해줘서 1199를 했을 때 두 세트가 아닌 한 세트가 출력되고 있었다. 

간만에 풀어서 그런가 또 초심을 잃었다.. 

+ Recent posts