C++

[백준 알고리즘] 2857번 : FBI, c++

2022. 3. 3. 22:49

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

 

2857번: FBI

5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다.

www.acmicpc.net

c++로 백준 2857번 문제를 풀어보겠다.

 

 

 

 

 

문제

5명의 요원 중 FBI 요원을 찾는 프로그램을 작성하시오.

FBI요원은 요원의 첩보원명에 FBI가 들어있다. 

입력

5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다.

출력

첫째 줄에 FBI 요원을 출력한다. 이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다. 만약 FBI 요원이 없다면 "HE GOT AWAY!"를 출력한다.

예제 입력 1 복사

N-FBI1
9A-USKOK
I-NTERPOL
G-MI6
RF-KGB1

예제 출력 1 복사

1

 

 

 

 

<문제 풀이>

1. for 반복문을 5번 반복하며 문자열을 입력받는다.

 

- for 반복문 코드 내용 -

문자열을 입력받는다.

입력받은 문자열의 문자를 하나하나 고려하며 중간에 "FBI"라는 단어가 들어가있는지 확인한다.

만약 "FBI" 문자가 있다면, 몇 번째로 입력된 문자열인지 숫자를 저장한다. (아니면 그냥 넘어감)

그렇게 반복문을 5번 반복하며 5개의 문자열을 확인한다.

 

만약 "FBI"가 포함된 문자열이라고 저장된 정보가 아무것도 없으면, "HE GOT AWAY!"를 출력하고,

"FBI"가 포함된 문자열이라고 저장된 정보가 있으면, 몇 번째로 입력된 문자열인지 가진 정보를 모두 출력한다.

 

 

 

코드는 다음과 같다.