JUNGOL...31
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
문제출처
Language_Code/문자열2/자가진단1-JUNGOL
Language_Code/문자열2/자가진단2-JUNGOL
Language_Code/문자열2/자가진단3-JUNGOL
Language_Code/문자열2/자가진단4-JUNGOL
Language_Code/문자열2/자가진단5-JUNGOL
Language_Code/문자열2/자가진단6-JUNGOL
Language_Code/문자열2/자가진단7-JUNGOL
Language_Code/문자열2/자가진단8-JUNGOL
Language_Code/문자열2/자가진단9-JUNGOL