일지

JUNGOL...29

niamdank 2020. 12. 7. 12:20

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


문제                                            

33부터 127 까지의 숫자를 계속 입력받아 입력받은 숫자의 아스키코드에 해당하는 문자를 출력하다가 범위를 벗어나는 입력이 들어오면 종료하는 프로그램을 작성하시오.

 

입·출력 예                                    

ASCII code =? 66

B

ASCII code =? 122

z

ASCII code =? 0

 

Hint!

문자열 개념 Lecture


BasicString101.h

#include <iostream>

 

BasicString101.cpp

void BasicString101::Code()
{
	int var;

	while (true)
	{
		std::cout << "ASCII code =? ";
		std::cin >> var;

		if (var < 33 || 127 < var)
		{
			break;
		}

		std::cout << static_cast<char>(var) << '\n';
	}
}

 

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


문제                                            

문자열을 입력받은 뒤 그 문자열을 이어서 두 번 출력하는 프로그램을 작성하시오.
문자열의 길이는 100이하이다.

 

입력 예                                        

ASDFG

 

출력 예                                        

ASDFGASDFG


BasicString102.h

#include <iostream>
#include <string>

using std::string;

 

BasicString102.cpp

void BasicString102::Code()
{
	string str;

	std::cin >> str;

	std::cout << str << str;
}

 

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


문제                                            

문자열을 “Hong Gil Dong”으로 초기화 한 후 3번부터 6번까지의 문자를 차례로 출력하시오.

 

출력 예                                        

g Gi


BasicString103.h

#include <iostream>
#include <string>

using std::string;

 

BasicString103.cpp

void BasicString103::Code()
{
	string str{ "Hong Gil Dong" };

	std::cout << str.substr(3, 4);
}

 

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


문제                                            

문자열을 입력받고 정수를 입력 받아서 문자열의 맨 뒤부터 정수만큼 출력하는 프로그램을 작성하시오.

만약 입력받은 정수가 문자열의 길이보다 크다면 맨 뒤부터 맨 처음까지 모두 출력한다.

 

(문자열 길이는 최대 100자 이하이다. )

 

입력 예                                        

korea 3

 

출력 예                                        

aer


BasicString104.h

#include <iostream>
#include <string>
#include <algorithm>

using std::string;

 

BasicString104.cpp

void BasicString104::Code()
{
	string str;
	size_t n;

	std::cin >> str >> n;

	std::reverse(str.begin(), str.end());

	if (n > str.size())
	{
		std::cout << str;
	}
	else
	{
		std::cout << str.substr(0, n);
	}
}

 

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


문제                                            

두 개의 문자열을 입력받아서 두 문자열의 길이의 합을 출력하는 프로그램을 작성하시오.

각 문자열의 길이는 20자 미만이다.

 

입력 예                                        

Korean

English

 

출력 예                                        

13


BasicString105.h

#include <iostream>
#include <string>

using std::string;

 

BasicString105.cpp

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

	std::cin >> str1 >> str2;

	std::cout << str1.size() + str2.size();
}

 

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


문제                                            

문자를 입력받아 알파벳 문자인 경우에는 그대로 출력하고 숫자인 경우는 아스키코드값을 출력하는 작업을 반복하다가 기타의 문자가 입력되면 종료하는 프로그램을 작성하시오.

 

* 입출력예에서 진한글씨가 출력

 

입·출력 예                                    

A

A

1

49

@

 

Hint!

문자의 아스키코드를 출력하려면 변환지정을 '%c' 대신 '%d' 로 하면 된다.

fflush함수는 호환성이 떨어지므로 fflush(stdin); 대신 getchar();을 한번 더 써주거나 scanf(" %c", &변수); 로 입력받는 것이 안정적이다.


BasicString106.h

#include <iostream>
#include <cctype>

 

BasicString106.cpp

void BasicString106::Code()
{
	char ch;

	while (true)
	{
		std::cin >> ch;

		if (isalpha(ch))
		{
			std::cout << ch << '\n';
		}
		else if (isdigit(ch))
		{
			std::cout << static_cast<int>(ch) << '\n';
		}
		else
		{
			break;
		}
	}
}

 

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


문제                                            

문자열을 입력받아 알파벳 문자만 모두 대문자로 출력하는 프로그램을 작성하시오.
문자열의 길이는 100이하이다.

 

입력 예                                        

1988-Seoul-Olympic!!!

 

출력 예                                        

SEOULOLYMPIC


BasicString107.h

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

using std::string;

 

BasicString107.cpp

void BasicString107::Code()
{
	string str;

	std::cin >> str;

	for (int i = 0; i < str.size(); i++)
	{
		if (isalpha(str[i]))
		{
			std::cout << static_cast<char>(toupper(str[i]));
		}
	}
}

 

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


문제                                            

공백을 포함한 100글자 이하의 문자열을 입력받아 문장을 이루는 단어의 개수를 출력하는 프로그램을 작성하시오.

 

* 문장입력 할 때 gets()함수 대신 fgets() 함수를 사용하세요. C++14 적용!​

 

입력 예                                        

My name is Kimchulsoo

 

출력 예                                        

4


BasicString108.h

#include <iostream>
#include <string>

using std::string;

 

BasicString108.cpp

void BasicString108::Code()
{
	string str;

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

	int count{ 1 };

	for (int i = 0; i < str.size(); i++)
	{
		if (str[i] == ' ')
		{
			count++;
		}
	}

	std::cout << count;
}

 

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


문제                                            

문자열을 입력 받아서 문자수만큼 오른쪽으로 한 바퀴 회전하여 출력하는 프로그램을 작성하시오. 문자열의 길이는 100이하이다.

 

입력 예                                        

PROGRAM

 

출력 예                                        

MPROGRA

AMPROGR

RAMPROG

GRAMPRO

OGRAMPR

ROGRAMP

PROGRAM


BasicString109.h

#include <iostream>
#include <string>

using std::string;

 

BasicString109.cpp

void BasicString109::Code()
{
	string str;

	std::cin >> str;

	int n{ static_cast<int>(str.size()) };
	for (int i = 1; i <= n; i++)
	{
		for (int j = n - i; j < n; j++)
		{
			std::cout << str[j];
		}

		for (int j = 0; j < n - i; 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