문제 번호 1491. -- 2020년 2학기 객체기반SW설계 기말고사 - 1번

1491: 2020년 2학기 객체기반SW설계 기말고사 - 1번

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 286  해결 문제 수: 165
[제출][채점 상황 열람][게시판]

문제 설명

아래 프로그램을 만족시키는 class Car를 구현하시오.

Class car는 singleton pattern으로 동작한다. 즉, 단 한 개의 object instance 만을 만들 수 있다.
이를 위해 static method getInstance( )를 지원한다.

method void addName(string s)는 s를 인수로 받아 instance 내에 저장한다.
저장하는 방식 등의 구현은 자유롭게 한다.

method vector getSortedNames(void)는 저장했던 s들을 오름차순 (사전순)으로
정렬하여 이를 vector로 만들어서 반환한다.

필요한 헤더파일들을 추가하고,
요구조건을 만족하도록 class Car를 구현하여 제출하시오.

제출할 때는 아래 프로그램을 copy하여 표시된 부분은 추가하고,
변경금지된 부분은 그대로 둔다.
/*
	필요한 헤더파일을 넣으시오
*/


using namespace std;

/*

	Class car를 구현하시오.
	
	- singleton 패턴을 지원해야 함
	- method addName(string s): s를 클래스 내에 저장
	- vector<string> getSortedNames(void): 저장된 s들을 오름차순으로 정렬하여 
	  vector로 반환

*/

//------------------------------------------------------
// 여기부터는 절대 건드리지 마시오.
//------------------------------------------------------
int main()
{
	Car* c = Car::getInstance();

	string name;

	while (true)
	{
		getline(cin, name);

		if (name == "END")
		{
			break;
		}
		else
		{
			c->addName(name);
		}
	}

	Car* d = Car::getInstance();
	auto res = d->getSortedNames();
	for (auto& e : res)
	{
		cout << e << " ";
	}

	return 0;
}


입력

출력

도움말

출처

[제출][채점 상황 열람]