๐Ÿ“ฆ Chango/๐Ÿฃ EDOC

[BOJ G2][C++] 16172๋ฒˆ: ๋‚˜๋Š” ์นœ๊ตฌ๊ฐ€ ์ ๋‹ค (Large)

์„ ๋‹ฌ 2022. 3. 30. 10:26
๋ฐ˜์‘ํ˜•

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

 

16172๋ฒˆ: ๋‚˜๋Š” ์นœ๊ตฌ๊ฐ€ ์ ๋‹ค (Large)

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ |S| ≤ 200,000) ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ์„ฑ๋ฏผ์ด๊ฐ€ ์ฐพ๊ณ ์ž ํ•˜๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ํ‚ค์›Œ๋“œ ๋ฌธ์ž์—ด K๊ฐ€

www.acmicpc.net

 

๋ฌธ์ œ

์นœ๊ตฌ๊ฐ€ ์ ์€ ์„ฑ๋ฏผ์ด๋Š” ์ˆ˜์—…์— ๊ฒฐ์„ํ•ด๋„ ์‹œํ—˜์ด๋‚˜ ๊ณผ์ œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๋Œ€๋กœ ์–ป์„ ์ˆ˜ ์—†์—ˆ๋‹ค. F ํ•™์ ์„ ๋ฐ›์„ ์œ„๊ธฐ๊นŒ์ง€ ์•„์Šฌ์•„์Šฌํ•˜๊ฒŒ ๊ฒฐ์„์ผ ์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๋˜ ์„ฑ๋ฏผ์ด๋Š”, ์–ด๋Š ๋‚  ๊ฐ‘์ž๊ธฐ ์˜๋ฌธ๋„ ๋ชจ๋ฅธ ์ฑ„ ์ชฝ์ง€์‹œํ—˜์„ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค!

๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์ชฝ์ง€ ์‹œํ—˜์œผ๋กœ ๋งˆ์Œ์ด ๊ธ‰ํ•ด์ง„ ์„ฑ๋ฏผ์ด๋Š” ๋งค์ง์•„์ด๋ฅผ ์‚ฌ์šฉํ•ด ๋ฒผ๋ฝ์น˜๊ธฐ๋ฅผ ํ•˜๊ธฐ๋กœ ํ•œ๋‹ค.

์„ฑ๋ฏผ์ด๊ฐ€ ๋“ฃ๋Š” ๊ณผ๋ชฉ์˜ ๊ต๊ณผ์„œ๋Š”, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž(a-z)์™€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž(A-Z)๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์„ฑ๋ฏผ์ด๊ฐ€ ๊ต๊ณผ์„œ์—์„œ ์ฐพ๊ณ ์ž ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋„ ์—ญ์‹œ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์™€ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์„ฑ๋ฏผ์ด์—๊ฒ ํฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ๊ฒฐ์„ํ•œ ๋‚ ์˜ ์ˆ˜์—… ๋‚ด์šฉ์„ ์นœ๊ตฌ์—๊ฒŒ ๋นŒ๋ ค ํ•„๊ธฐ๋ฅผ ํ•˜๋˜ ์ค‘, ๊ต๊ณผ์„œ์— ์ˆซ์ž(0-9)๋ฅผ ์ ์–ด๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค.

ํ‚ค์›Œ๋“œ๋ฅผ ์ฐพ๊ธฐ ํž˜๋“ค์–ด ํŒจ๋‹‰์— ๋น ์ง„ ์„ฑ๋ฏผ์ด๋Š” ๋ช‡ ์•ˆ ๋˜๋Š” ์นœ๊ตฌ์ธ ๋‹น์‹ ์—๊ฒŒ ๋„์›€์„ ์š”์ฒญํ–ˆ๋‹ค. ์„ฑ๋ฏผ์ด๋ฅผ ๋„์™€, ๊ต๊ณผ์„œ์—์„œ ์„ฑ๋ฏผ์ด๊ฐ€ ์ฐพ๊ณ ์ž ํ•˜๋Š” ํ‚ค์›Œ๋“œ์˜ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ์•Œ๋ ค์ฃผ์ž.

์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ |S| ≤ 200,000) ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ์„ฑ๋ฏผ์ด๊ฐ€ ์ฐพ๊ณ ์ž ํ•˜๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ํ‚ค์›Œ๋“œ ๋ฌธ์ž์—ด K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ |K| ≤ 200,000)

๋‹จ, ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ํ‚ค์›Œ๋“œ ๋ฌธ์ž์—ด K์˜ ๊ธธ์ด๋Š”, ๊ต๊ณผ์„œ์˜ ๋ฌธ์ž์—ด S๋ณด๋‹ค ์งง๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.

์ถœ๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์— ์„ฑ๋ฏผ์ด๊ฐ€ ์ฐพ๊ณ ์ž ํ•˜๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ๊ต๊ณผ์„œ ๋‚ด์— ์กด์žฌํ•˜๋ฉด 1, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

// Authored by : seondal
// ํ’€์ด : https://whkakrkr.tistory.com/
// Co-authored by : -

//#include <bits/stdc++.h>
#include <iostream>
#include <string>

using namespace std;


int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    string text, search;
    cin >> text >> search;
    
    string newText = "";
    for(int i=0; i<text.length(); i++){
        if('0'<=text[i] && text[i]<='9') continue;
        newText += text[i];
    }
    
    if(newText.find(search) == string::npos)
        cout << 0;
    else
        cout << 1;
    
    return 0;
}
    
/**/

 

TIL

๋ฌธ์ž์—ด a ์—์„œ ๋ฌธ์ž์—ด b ๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ• ๋•Œ

find()

ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค

 

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•ด์„œ ํฌํ•จ๋˜์–ด์žˆ๋‹ค๋ฉด true, ์•„๋‹ˆ๋ผ๋ฉด false๋ฅผ ๋ฆฌํ„ดํ•˜๊ฒŒ ํ–ˆ๋‹ค

// boolean
a.find(b) != string::npos
๋ฐ˜์‘ํ˜•