[백준 1543번] 문서 검색 (c++ <string> 레퍼런스 )

2021. 7. 5. 14:45·PS/알고리즘

https://www.acmicpc.net/problem/1543

 

1543번: 문서 검색

세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한

www.acmicpc.net


1. 생성자

  1. 사전에 선언한 스트링 이용하기
    • s2 = s0;
    • s2 = (s0);
    • s2 = (s0,firstIndexPos, stringlen)
      • firstIndexPos : s0 문자열을 여기서부터 서브스트링을 넣어주고 싶다!
        할때 시작 기준 (인덱스)
      • stringlen : 서브 스트링의 길이
        얼만큼 넣어주고 싶니?
    • s2 = (s0.begin(), s0.begin + len)
  2. 특정 문자로 fill 하고싶다.
    • s6 (10, char) //char로 10길이만큼 채우기

2. find, substr

1. find

대상문자열.find(토큰)

  • return
    • 찾았음 : 시작인덱스 //뭐.. 배열 인덱스처럼 숫자로 나오겠지?
    • 못찾음 : string::npos //이게 값 자체이니깐 | str.find("~") != string::npos | 라고 쓰면 OK!

2. substr

  1. substr(index) : 찾은 문자도 포함해서 끝까지 서브스트링
    • 만약 찾은 문자가 char 하나라면 하나만 잘라내고 서브스트링하는것
  2. 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;
}
 
Colored by Color Scripter
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
'PS/알고리즘' 카테고리의 다른 글
  • [백준 2992] 크면서 작은 수 (다음 순열 찾기 & next_permutation사용법)
  • [프로그래머스 그래프 탐색 DFS/BFS] (level 3) 3번 단어 변환
  • [백준 11719번] 그대로 출력하기 2 (<string> Getline 문자열 공백 허용 입력)
  • [백준 15649번] 백트래킹 N과 M(1)
니앙팽이
니앙팽이
  • 니앙팽이
    니앙팽이 블로그
    니앙팽이
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • 그림그리기 (7)
      • 음악 (4)
        • FL Studio & MIDI (2)
        • 자작곡 (2)
      • 게임 (7)
        • 모바일 (0)
        • 스팀 (0)
        • 닌텐도 (0)
        • 개발 (7)
      • CS (44)
        • SW 공학 (27)
        • DB (7)
        • OS (9)
        • 네트워크 (1)
      • 팁 (9)
      • Language (21)
        • C# (8)
        • C&C++ (3)
        • 파이썬 메모 (3)
        • Javascript (7)
      • PS (0)
        • 알고리즘 (24)
        • 자료구조 (8)
        • 수학 (1)
        • 선형대수 (0)
        • 오토마타 (1)
        • 이산수학 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    프로그래머스
    c#
    자료구조
    디자인패턴
    clip studio paint
    unity
    KAKAO
    가비지 콜렉터
    객체지향개발
    Stack
    노마드 코더
    클립 스튜디오
    파이썬
    그림 연습
    따라그리기
    유니티
    연결리스트
    Javascript
    프로세스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
니앙팽이
[백준 1543번] 문서 검색 (c++ <string> 레퍼런스 )
상단으로

티스토리툴바