최대 1 분 소요

문제

두 번째 입력받는 문자열이 첫 번째 입력받는 문자열에서 몇 번있는지 출력하는 문제

풀이

#include <iostream>
#include <string>

using namespace std;

string og, input;
int cnt = 0;

int main()
{
    // string 입력받는 방법
    getline(cin, og);
    getline(cin, input);

    for (int i = 0; i < og.length(); i++)
    {
        bool flag = true;
        for (int j = 0; j < input.length(); j++)
        {
            if (og[i + j] != input[j])
            {
                flag = false;
                break;
            }
        }
        if (flag)
        {
            cnt++;
            i += input.length() - 1;
        }
    }
    cout << cnt;
}

풀이 과정

  • og[i + j] : 한 칸씩 옆으로 이동하면서 input 길이만큼 비교하기 위한 코드
  • og[i + j] != input[j] : 한 문자씩 같은지 다른지 비교

배운 점

  1. c++에서 string 입력받는 방법 :: getline(std::cin, var);

댓글남기기