본문 바로가기

Algorithm

(C++) - 백준(BOJ) 2857번 : FBI

반응형

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

 

2857번: FBI

문제 5명의 요원 중 FBI 요원을 찾는 프로그램을 작성하시오. FBI요원은 요원의 첩보원명에 FBI가 들어있다.  입력 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. 출력 첫째 줄에 FBI 요원을 출력한다. 이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다. 만약 FBI 요원이 없다면 "HE GOT AWAY!"를

www.acmicpc.net

find함수는 찾은 문자열의 위치(iterator값)를 반환해주는 함수이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
using namespace std;
int main() {
    string fbi[6];
    string ans = "";
    for (int i = 1; i <= 5; i++)
    {
        cin >> fbi[i];
        //find함수는 찾은 문자열의 위치를 반환한다. 이는 int 값이 아니고 iterator값이다.
        if (fbi[i].find("FBI"== string::npos)//찾는 문자열이 없다면
            continue;
        else
            ans += to_string(i);
    }
    if (ans.size() == 0)
        cout << "HE GOT AWAY!" << '\n';
    else
    {
        for (int i = 0; i < ans.size(); i++)
            cout << ans[i] << ' ';
    }
}
cs