Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 그리디
- dfs문제
- 알고리즘
- 영상처리
- DP문제
- tflite
- 삼성코딩테스트
- bfs문제
- 임베디드 딥러닝
- 초소형머신러닝
- 포스코 교육
- dfs
- DP
- MCU 딥러닝
- 삼성코테
- 자료구조
- 코테 문제
- 컴퓨팅사고
- 삼성역량테스트
- 다이나믹프로그래밍
- 포스코 ai 교육
- 코딩테스트
- 포스코 AI교육
- TensorFlow Lite
- 코테
- tinyml
- 딥러닝
- sort
- BFS
- 삼성역테
Archives
- Today
- Total
코딩뚠뚠
[개념정리] C++ string 정리 -1 본문
반응형
String Library 란
문자열을 나타내기 위한 클래스 이다.
대체로 코딩테스트에 문자열 input을 받아 처리하는 문제가 나오면
처리가 쉬운 파이썬으로 풀기를 권장하지만
나머지 부분을 전부 c++ 로 준비했거나 직무가 c 관련이라서 이 글을 보시는 분도 계실것이다.
나도 또한 코딩테스트를 보다가 string에서 애먹은적이 있기 때문에 정리차원에서 적어본다.
String 초기화
주석참고
#include <iostream>
#include <string>
using namespace std;
int main(){
// 1
string str1 = "coding_ddunddun1";
// 2
string str2("coding_ddunddun2");
// 3
string str3;
str3 = "coding_ddunddun3";
// 4
string str4;
str4.assign("coding_ddunddun4");
// 5
string *str5 = new string("coding_ddunddun5");
return 0;
}
String 크기
주석참고
#include <iostream>
#include <string>
using namespace std;
int main(){
string str1 = "coding_ddunddun";
// size 와 length 는 같은 역할을 수행한다.
cout << str1.size() << endl;
cout << str1.length() << endl;
return 0;
}
String Index
주석참고
#include <iostream>
#include <string>
using namespace std;
int main(){
string str1 = "coding_ddunddun"; // 선언
cout << str[0] << endl; // 0번째 글자 "c"
cout << str.at[0] << endl; // 0번째 글자 "c"
str.at[0] = 'D'; // coding -> Doding 으로 바뀔것
cout << str.front() << endl; // 맨 첫번째 글자 'D'
cout << str.back() << endl; // 맨 마지막 글자'n'
return 0;
}
String 비교 연산
주석참고
#include <iostream>
#include <string>
using namespace std;
int main(){
string str1 = "ABC";
string str2 = "ABC";
cout << (str1==str2) << endl; //1
cout << (str1!=str2) << endl; //0
string str3 = "CBA";
if(str1<str3){ // ABC 와 CBA를 비교했을때 ABC가 사전적으로 앞이니 더 작다고 본다.
cout << 'str1 is small';
}
cout << str1.compare(str3) << endl; //똑같이 비교했을 때 str1이 더 작으므로 -1을 반환
// 같다면 0을 str1이 더 크다면 1을 반환한다.
return 0;
}
String 글자 추가
주석참고
#include <iostream>
#include <string>
using namespace std;
int main(){
// + 로 나타내기
string str1 = "A";
string str2 = "B";
string str3 = str1 + str2; //"AB"
str3 += "C"; //"ABC"
//append 로 나타내기
str3.append("D"); //"ABCD"
string str4 = "EDDDDDDD";
str3.append(str4,0,1); //str3에 str4의 index 0부터 1칸 붙이기 "ABCDE"
str3.append(5, '.'); //5개의 '.'을 붙인다. "ABCDE....."
return 0;
}
String 문자 탐색
주석참고
#include <iostream>
#include <string>
using namespace std;
int main(){
string str1 = "nice to meet you";
string str2 = "to";
cout << str1.find(str2) << endl; // 전체문장에서 to를 찾고 그 인덱스를 반환 = 5
cout << str1.at(5) << endl; // 5번 인덱스에 있는 문자는 = t
}
계속된 포스팅에서 string 을 파악해보고자 한다.
반응형
'알고리즘 문제풀이 > 개념정리' 카테고리의 다른 글
[개념정리] strtok (0) | 2021.03.04 |
---|---|
[개념정리] C++ string 정리 -2 (0) | 2021.03.04 |
[개념정리] Two pointer algorithm (0) | 2020.12.27 |
[개념정리] set container (0) | 2020.12.27 |
[개념정리] Backtracking 백트래킹 (0) | 2020.12.27 |