일지

JUNGOL...31

niamdank 2020. 12. 10. 14:47

Language_Code/문자열2/자가진단1


문제                                            

5개의 단어를 입력받아 모든 단어를 입력받은 역순으로 출력하는 프로그램을 작성하시오.
각 단어의 길이는 30이하이다.

 

입력 예                                        

dog

cat

chick

calf

goat

 

출력 예                                        

goat

calf

chick

cat

dog


BasicString201.h

#include <iostream>
#include <string>

using std::string;

 

BasicString201.cpp

void BasicString201::Code()
{
	string arr[5];

	for (int i = 0; i < 5; i++)
	{
		std::cin >> arr[i];
	}

	for (int i = 4; i >= 0; i--)
	{
		std::cout << arr[i] << '\n';
	}
}

 

Language_Code/문자열2/자가진단2


문제                                            

공백을 포함한 문장을 입력 받아서 홀수 번째 단어를 차례로 출력하는 프로그램을 작성하시오.

문장의 길이는 100자 이하이다.

 

입력 예                                        

I like you better than him.

 

출력 예                                        

I

you

than

 

Hint!

문장을 단어로 나누기


BasicString202.h

#include <iostream>
#include <string>
#include <sstream>

using std::string;
using std::stringstream;

 

BasicString202.cpp

void BasicString202::Code()
{
	string str;

	std::getline(std::cin, str);

	int index{ 1 };
	string word;
	for (stringstream ss{ str }; ss >> word; index++)
	{
		if (index % 2 == 1)
		{
			std::cout << word << '\n';
		}
	}
}

 

Language_Code/문자열2/자가진단3


문제                                            

20개 이하의 문자로 이루어진 10개의 단어와 한 개의 문자를 입력받아서 마지막으로 입력받은 문자로 끝나는 단어를 모두 출력하는 프로그램을 작성하시오.

 

입력 예                                        

champion
tel
pencil
olympiad
class
information
jungol
lesson
book
lion
l

 

출력 예                                        

tel
pencil
jungol

 

Hint!

마지막 문자의 위치를 알기 위해서는 먼저 단어의 길이를 알아야 한다. 마지막 문자는 그 길이-1의 위치에 있다.


BasicString203.h

#include <iostream>
#include <string>

using std::string;

 

BasicString203.cpp

void BasicString203::Code()
{
	string arr[10];
	char ch;

	for (int i = 0; i < 10; i++)
	{
		std::cin >> arr[i];
	}
	std::cin >> ch;

	for (int i = 0; i < 10; i++)
	{
		if (*arr[i].rbegin() == ch)
		{
			std::cout << arr[i] << '\n';
		}
	}
}

 

Language_Code/문자열2/자가진단4


문제                                            

문자열을 선언하고 다음과 같이 "Hong Gil Dong"이라는 이름을 복사하여 저장한 후 출력하는 프로그램을 작성하시오.

 

출력 예                                        

Hong Gil Dong

 

Hint!

strcpy(문자열변수, "Hong Gil Dong");


BasicString204.h

#include <iostream>
#include <string>

using std::string;

 

BasicString204.cpp

void BasicString204::Code()
{
	string str1{ "Hong Gil Dong" };
	string str2;

	str2 = str1;
	
	std::cout << str2;
}

 

Language_Code/문자열2/자가진단5


문제                                            

20개 이하의 문자열로 된 이름을 입력받아서 그 뒤에 "fighting"을 붙여서 저장하고 출력하는 프로그램을 작성하시오.

 

입력 예                                        

Korea

 

출력 예                                        

Koreafighting


BasicString205.h

#include <iostream>
#include <string>

using std::string;

 

BasicString205.cpp

void BasicString205::Code()
{
	string str;

	std::cin >> str;

	str += "fighting";

	std::cout << str;
}

 

Language_Code/문자열2/자가진단6


문제                                            

20자 이하인 두 개의 문자열을 입력받아 첫 번째 문자열의 앞부분 두자를 두 번째 문자열의 앞부분에 복사하고 다시 뒷부분에 이어 붙여서 저장한 후 두 번째 문자열을 출력하는 프로그램을 작성하시오.

 

입력 예                                        

ABCDE QWERTY

 

출력 예                                        

ABERTYAB


BasicString206.h

#include <iostream>
#include <string>

using std::string;

 

BasicString206.cpp

void BasicString206::Code()
{
	string str1, str2;

	std::cin >> str1 >> str2;

	str2 = str1.substr(0, 2) + str2.substr(2) + str1.substr(0, 2);

	std::cout << str2;
}

 

Language_Code/문자열2/자가진단7


문제                                            

100개 이하의 문자로 구성된 한 개의 문자열을 입력받아서 그 문자열에 문자 'c'와 문자열 "ab"의 포함여부를 "Yes", "No"로 구분하여 출력예처럼 출력하는 프로그램을 작성하시오.

 

입력 예                                        

abdef

 

출력 예                                        

No Yes


BasicString207.h

#include <iostream>
#include <string>
#include <climits>

using std::string;

 

BasicString207.cpp

void BasicString207::Code()
{
	string str;

	std::cin >> str;

	bool hasC{ false };
	if (str.find('c') != ULLONG_MAX)
	{
		hasC = true;
	}

	bool hasAB{ false };
	if (str.find("ab") != ULLONG_MAX)
	{
		hasAB = true;
	}

	std::cout << (hasC ? "Yes" : "No") << ' ' << (hasAB ? "Yes" : "No");
}

 

Language_Code/문자열2/자가진단8


문제                                            

세 개의 단어를 입력받아 아스키코드(사전) 순으로 가장 먼저 나오는 단어를 출력하는 프로그램을 작성하시오.

각 단어의 길이는 1이상 10 이하이다.

 

입력 예                                        

cat dog cow

 

출력 예                                        

cat


BasicString208.h

#include <iostream>
#include <string>

using std::string;

 

BasicString208.cpp

void BasicString208::Code()
{
	string arr[3];
	
	for (int i = 0; i < 3; i++)
	{
		std::cin >> arr[i];
	}

	string result{ arr[0] };
	for (int i = 1; i < 3; i++)
	{
		if (result > arr[i])
		{
			result = arr[i];
		}
	}

	std::cout << result;
}

 

Language_Code/문자열2/자가진단9


문제                                            

5개의 문자열을 입력받아 문자열 크기(아스키코드) 역순으로 정렬하여 출력하는 프로그램을 작성하시오.

주어지는 문자열의 길이는 20자 미만이다.

 

입력 예                                        

Jungol
Korea
information
Monitor
class

 

출력 예                                        

information
class
Monitor
Korea
Jungol


BasicString209.h

#include <iostream>
#include <string>

using std::string;

 

BasicString209.cpp

void BasicString209::Code()
{
	string arr[5];

	for (int i = 0; i < 5; i++)
	{
		std::cin >> arr[i];
	}


	for (int i = 1; i < 5; i++)
	{
		for (int j = 0; j < 5 - i; j++)
		{
			if (arr[j][0] < arr[j + 1][0])
			{
				string temp{ arr[j] };
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}

	for (int i = 0; i < 5; i++)
	{
		std::cout << arr[i] << '\n';
	}
}

 

Language_Code/문자열2/자가진단10


문제                                            

20자 이하인 한 개의 문자열을 입력받아서 첫 줄에는 정수로 변환하여 2배한 값을 출력하고, 다음 줄에는 실수로 변환한 값을 반올림하여 소수 둘째자리까지 출력하는 프로그램을 작성하시오.

 

입력 예                                        

50.1*34

 

출력 예                                        

100

50.10


BasicString210.h

#include <iostream>
#include <string>
#include <cctype>

using std::string;

 

BasicString210.cpp

void BasicString210::Code()
{
	string str;

	std::cin >> str;

	int index{ 0 };
	bool hasDot{ false };
	for (; index < str.size(); index++)
	{
		if (!isdigit(str[index]))
		{
			if (str[index] == '.' && !hasDot)
			{
				hasDot = true;
			}
			else
			{
				break;
			}
		}
	}

	str = str.substr(0, index);

	std::cout.precision(2);
	std::cout.setf(std::ios::fixed);

	std::cout << std::atoi(str.c_str()) * 2 << '\n';
	std::cout << std::atof(str.c_str());
}

 

Language_Code/문자열2/자가진단11


문제                                            

5개의 정수를 입력받아 모두 붙여서 문자열로 저장한 후 세 자씩 나누어서 출력하는 프로그램을 작성하시오.

 

입력 예                                        

12 5963 58 1 45678

 

출력 예                                        

125
963
581
456
78


BasicString211.h

#include <iostream>
#include <string>

using std::string;

 

BasicString211.cpp

void BasicString211::Code()
{
	int var;
	string str;

	for (int i = 0; i < 5; i++)
	{
		std::cin >> var;
		str.append(std::to_string(var));
	}

	for (int i = 0; i < str.size(); i += 3)
	{
		for (int j = i, k = i + 3; j < k && j < str.size(); j++)
		{
			std::cout << str[j];
		}
		std::cout << '\n';
	}
}

 

NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)

 

NadanKim/CodingTest_JUNGOL

JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.

github.com