문제 링크: https://www.acmicpc.net/problem/9342

 

9342번: 염색체

상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙

www.acmicpc.net

 

문자열의 조건들을 순차적으로 확인하는 문제이다. String.indexOf()와 String.lastIndexOf()를 이용하면 쉽게 해결이 가능하다. indexOf(char) char와 같은 첫 번째 index를 반환하며 lastIndexOf(char) char와 같은 마지막 index를 반환해준다. 해당 조건들을 하나씩 체크해주면 된다. 

 

import java.math.BigInteger;
import java.util.*;
import java.io.*;



public class Main {

    static int t;
    public static void main(String [] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        t= Integer.parseInt(br.readLine());
        for(int i=0; i<t; i++){
            String s = br.readLine();
            boolean check =false;
            int a= s.indexOf("A");
            int f= s.indexOf("F");
            int c = s.indexOf("C");
            int aLast= s.lastIndexOf("A");
            int fLast= s.lastIndexOf("F");
            if(s.charAt(s.length()-1)=='A' ||s.charAt(s.length()-1)=='F'||s.charAt(s.length()-1)=='C'){
                if(a<f && f<c){
                    if(aLast==f-1 && fLast==c-1){
                        check=true;
                    }
                }
            }
            if(check){
                System.out.println("Infected!");
            }
            else{
                System.out.println("Good");
            }
        }
    }

}

'Alogorithm' 카테고리의 다른 글

백준 2015 [자바] java 수들의 합4  (0) 2022.01.20
백준 JAVA 9613 GCD 합  (0) 2021.12.31
백준 JAVA 2407번 조합  (0) 2021.12.30
백준 JAVA 9655번 돌게임  (0) 2021.12.07
백준 JAVA 1343번 폴리오미노  (0) 2021.12.02