11. 문자열
[ 난이도: Easy | 분야: Strings ]
1. 내용 정리
C++은 문자열을 손대기 위해 좀 더 좋은 방향으로의 대안책을 제공하고 이 자료형을 간단하게 string이라고 한다.
이 자료형에서 널리 사용하는 특징들은 아래와 같다:
선언
string a = "abc";
사이즈
int len = a.size();
두 문자열 연결하기
string a = "abc";
string b = "def";
string c = a + b; // c = "abcdef".
i-개 요소 접근하기
string s = "abc";
char c0 = s[0]; // c0='a'
char c1 = s[1]; // c1='b'
char c2 = s[2]; // c2='c'
s[0] = 'z'; // s = "zbc"
참조: 문자열을 읽고/쓰는데 cin/cout을 사용할 것이다.
2. 과제
입력 형식
a와 b라는 두 개의 문자열이 주어지고 두 문자열은 줄이 다르다. 각 문자열은 소문자 라틴 문자들로 구성되어 있다.
출력 형식
첫 번째 줄에서는 두 개의 공백으로 구분된 정수들을 출력하고, 이 정수들은 a와 b의 길이를 의미한다.
두 번째 줄에서는 a와 b를 연결한 문자열을 출력하라. (a+b)
세 번째 줄에서는 공백으로 구분하여 두 문자열 a'과 b'을 출력하라. a'과 b'은 a와 b와 같지만 첫 번째 문자가 상호교환되어있다.
입력 예시
abcd
ef
출력 예시
4 2
abcdef
ebcd af
설명
a = "abcd"
b = "ef"
|a| = 4
|b| = 2
a + b = "abcdef"
a' = "ebcd"
b' = "af"
문제
#include <iostream>
#include <string>
using namespace std;
int main() {
// Complete the program
return 0;
}
더보기
정답
#include <iostream>
#include <string>
using namespace std;
int main() {
// Complete the program
// Read inputs
string a;
string b;
cin >> a;
cin.ignore();
cin >> b;
// String Size
int num_a = a.size();
int num_b = b.size();
cout << num_a << " " << num_b << endl;
// Concatenate
string c = a + b;
cout << c << endl;
// Swap First Char.
string a_prime = a;
string b_prime = b;
a_prime[0] = b[0];
b_prime[0] = a[0];
cout << a_prime << " " << b_prime << endl;
return 0;
}
ⓒ Hackerrank. All Rights Reserved.
'프로그래밍 언어 > C, C++' 카테고리의 다른 글
[Hackerrank] 14. Classes (0) | 2024.02.09 |
---|---|
[Hackerrank] 13. Structs (0) | 2024.02.09 |
[Hackerrank] 10. StringStream (0) | 2024.02.08 |
[Hackerrank] 09. Variable Sized Array (2) | 2024.02.08 |
[Hackerrank] 08. Arrays Introduction (0) | 2024.02.06 |