내가 생각했을때 문제에서 원하는부분
5개 줄에 요원의 첩보원명이 주어진다.
첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다.
첫째 줄에 FBI 요원을 출력한다.
이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다.
만약 FBI 요원이 없다면 "HE GOT AWAY!"를 출력한다.
내가 이 문제를 보고 생각해본 부분
BufferedReader: 입력을 빠르게 받기 위해 사용한다.
StringBuilder: 결과를 효율적으로 저장하고, 최종 출력 시 한 번에 출력한다.
루프: 5개의 요원 이름을 입력받고, 각 이름에 "FBI"가 포함되어 있는지 확인한다.
출력: "FBI"가 포함된 요원의 번호를 공백으로 구분하여 출력하고, 없으면 "HE GOT AWAY!"를 출력한다.
코드로 구현
package baekjoon.baekjoon_27;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// 백준 2857번 문제
public class Main964 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int fbiCount = 0;
for(int i = 1; i <= 5; i++) {
String agentName = br.readLine();
if(agentName.contains("FBI")) {
sb.append(i).append(" ");
fbiCount++;
}
}
if(fbiCount == 0) {
System.out.println("HE GOT AWAY!");
} else {
System.out.println(sb.toString().trim()); // 마지막 공백 제거 후 출력
}
br.close();
}
}
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.