https://www.acmicpc.net/problem/1543
1. 생성자
- 사전에 선언한 스트링 이용하기
- s2 = s0;
- s2 = (s0);
- s2 = (s0,firstIndexPos, stringlen)
- firstIndexPos : s0 문자열을 여기서부터 서브스트링을 넣어주고 싶다!
할때 시작 기준 (인덱스) - stringlen : 서브 스트링의 길이
얼만큼 넣어주고 싶니?
- firstIndexPos : s0 문자열을 여기서부터 서브스트링을 넣어주고 싶다!
- s2 = (s0.begin(), s0.begin + len)
- 특정 문자로 fill 하고싶다.
- s6 (10, char) //char로 10길이만큼 채우기
2. find, substr
1. find
대상문자열.find(토큰)
- return
- 찾았음 : 시작인덱스 //뭐.. 배열 인덱스처럼 숫자로 나오겠지?
- 못찾음 : string::npos //이게 값 자체이니깐 | str.find("~") != string::npos | 라고 쓰면 OK!
2. substr
- substr(index) : 찾은 문자도 포함해서 끝까지 서브스트링
- 만약 찾은 문자가 char 하나라면 하나만 잘라내고 서브스트링하는것
- substr(index, len) : index부터 시작해서 len 까지
3. 기타
1. erase(index, len)
2. stoi("문자열") : str -> int
3. to_string(int) : int-> str
4. isdigit & isalpha
5. isupper & islower : 대소문자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false); cin.tie(NULL);
string str, token;
getline(cin, str); getline(cin, token);
int cnt = 0; int start = 0;
while (str.find(token) != string::npos)
{
int firstCharPos = str.find(token);cnt++;
str = str.substr(firstCharPos+token.length(), str.length());
}
cout << cnt << '\n';
return 0;
}
|
cs |
'PS > 알고리즘' 카테고리의 다른 글
[백준 2992] 크면서 작은 수 (다음 순열 찾기 & next_permutation사용법) (0) | 2021.07.09 |
---|---|
[프로그래머스 그래프 탐색 DFS/BFS] (level 3) 3번 단어 변환 (0) | 2021.07.08 |
[백준 11719번] 그대로 출력하기 2 (<string> Getline 문자열 공백 허용 입력) (0) | 2021.07.05 |
[백준 15649번] 백트래킹 N과 M(1) (0) | 2021.07.05 |
[상태공간 트리의 탐색 - 0] 목차 (0) | 2021.07.05 |