-
JUNGOL...30일지 2020. 12. 9. 12:25
Language_Code/문자열1/형성평가1
문제
영문자 두 개를 입력 받아서 각각의 아스키코드의 합과 차를 출력하는 프로그램을 작성하시오.
입력 예
A a
출력 예
162 32
FormativeString101.h
#include <iostream> #include <cmath>
FormativeString101.cpp
void FormativeString101::Code() { char ch1, ch2; std::cin >> ch1 >> ch2; int var1{ static_cast<int>(ch1) }; int var2{ static_cast<int>(ch2) }; std::cout << var1 + var2 << ' ' << abs(var1 - var2); }
Language_Code/문자열1/형성평가2
문제
5개 이상 100개 이하의 문자로 된 단어를 입력받은 후 앞에서부터 5자를 출력하는 프로그램을 작성하시오.
입력 예
AbCdEFG
출력 예
AbCdE
FormativeString102.h
#include <iostream> #include <string> using std::string;
FormativeString102.cpp
void FormativeString102::Code() { string str; std::cin >> str; std::cout << str.substr(0, 5); }
Language_Code/문자열1/형성평가3
문제
100개 이하의 문자열을 입력받아서 영문자와 숫자만 출력하되 영문자는 모두 소문자로 출력하는 프로그램을 작성하시오.
입력 예
Hancom1234@cqclass.com
출력 예
hancom1234cqclasscom
FormativeString103.h
#include <iostream> #include <string> #include <cctype> using std::string;
FormativeString103.cpp
void FormativeString103::Code() { string str; std::cin >> str; for (int i = 0; i < str.size(); i++) { if (isalpha(str[i])) { std::cout << static_cast<char>(tolower(str[i])); } else if (isdigit(str[i])) { std::cout << str[i]; } } }
Language_Code/문자열1/형성평가4
문제
단어와 문자 한 개를 입력받아서 단어에서 입력받은 문자와 같은 문자를 찾아서 그 위치를 출력하는 프로그램을 작성하시오.
단어에서 첫 번째 문자의 위치는 0으로 하고 찾는 문자가 여러 개일 때는 처음 나오는 위치를 출력한다.
만약 찾는 문자가 없을 때는 "No"라고 출력한다. 대소문자는 구별되며 단어는 100자 이하이다.
입력 예
Jungol.co.kr o
출력 예
4
FormativeString104.h
#include <iostream> #include <string> #include <climits> using std::string;
FormativeString104.cpp
void FormativeString104::Code() { string str; char ch; std::cin >> str >> ch; size_t pos{ str.find(ch, 0) }; if (pos != ULLONG_MAX) { std::cout << pos; } else { std::cout << "No"; } }
Language_Code/문자열1/형성평가5
문제
두 개의 단어를 입력받아서 길이가 긴 단어의 문자 개수를 출력하는 프로그램을 작성하시오.
단어의 길이는 100자 이하다.입력 예
excel powerpoint
출력 예
10
FormativeString105.h
#include <iostream> #include <string> using std::string;
FormativeString105.cpp
void FormativeString105::Code() { string str1, str2; std::cin >> str1 >> str2; size_t result{ str1.size() > str2.size() ? str1.size() : str2.size() }; std::cout << result; }
Language_Code/문자열1/형성평가6
문제
문자열(100자 이하)을 입력받은 후 정수를 입력받아 해당위치의 문자를 제거하고 출력하는 작업을 반복하다가 문자 1개가 남으면 종료하는 프로그램을 작성하시오.
첫 번째 문자의 위치는 1이며 만약 입력받은 번호가 문자열의 길이 이상이면 마지막 문자를 제거한다.
* 입출력예에서 진한글씨가 출력
출력 예
word
3
wod
1
od
10
o
FormativeString106.h
#include <iostream> #include <string> using std::string;
FormativeString106.cpp
void FormativeString106::Code() { string str; std::cin >> str; size_t n; do { std::cin >> n; if (n <= 0) { n = 1; } else if (n > str.size()) { n = str.size(); } str.replace(n - 1, 1, ""); std::cout << str << '\n'; } while (str.size() > 1); }
Language_Code/문자열1/형성평가7
문제
공백을 포함한 문자열을 입력받아 다음과 같이 분리하여 번호와 함께 출력하는 프로그램을 작성하시오.
문자열의 길이는 100자 이하이다.* 문장 입력할 때 gets()함수 대신 fgets() 함수를 사용하세요. C++14 적용!
입력 예
My name is Kimchulsoo
출력 예
1. My
2. name
3. is
4. Kimchulsoo
FormativeString107.h
#include <iostream> #include <string> using std::string;
FormativeString107.cpp
void FormativeString107::Code() { string str; std::getline(std::cin, str); int count{ 2 }; for (int i = 0; i < str.size(); i++) { if (str[i] == ' ') { count++; } } for (int i = 0, j = 0; i < count - 1; i++) { std::cout << i + 1 << ". "; while (j < str.size()) { std::cout << str[j++]; if (str[j] == ' ') { j++; break; } } std::cout << '\n'; } }
NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)