ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JUNGOL...31
    일지 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

     

    댓글

Designed by Tistory.