[JAVA] 백준 2857 - FBI

K-AKABANE·2023년 4월 12일
1

백준(Java)

목록 보기
1/3
post-thumbnail

문제

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

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

입력

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

출력

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

코드

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		for(int i=1;i<=5;i++) {
			if(br.readLine().contains("FBI"))
				sb.append(i).append(" ");
		}
		if(sb.isEmpty()) System.out.println("HE GOT AWAY!");
		else System.out.println(sb);
	}
}

풀이

입력받은 문자열 내에 특정 문자열이 존재하는지 판별하는 간단한 문제였다.

총 5개의 입력이 주어지고 출력해야 하는 번호의 범위가 1~5이므로 인덱스 i가 1부터 5까지 증가하는 for문을 사용하였다.

문자열을 변수로 저장할 필요 없이 주어진 조건을 만족하는지만 검사하면 되기 때문에 br.readLine()으로 입력받은 문자열에 바로 contains 메소드를 사용하여 "FBI"라는 문자열을 포함하는지 판별한 후, 그러할 경우 인덱스 값을 미리 생성해둔 StringBuilder에 추가하도록 하였다.

반복문이 종료된 후, StringBuilder가 만약 비어있다면 입력된 문자열 중 "FBI"를 포함하는 문자열이 존재하지 않는 것, 즉 FBI 요원이 없는 것이므로 문제 조건에 따라 "HE GOT AWAY!"를 출력하고, 그렇지 않을 경우 StringBuilder에 저장된 FBI 요원 이름의 입력 번호들을 출력하도록 하였다.

결과

문제 링크

백준 2857 - FBI

profile
Java is my life

0개의 댓글