[JAVA] 문자열 체크

2D3·2022년 8월 2일
0

매일 코딩

목록 보기
8/14

문제
문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴

조건
'a'로 시작해서 'b'로 끝나는 길이 5의 문자열
'b'로 시작해서 'a'로 끝나는 길이 5의 문자열

package com.codestates.coplit; 
import java.util.*;

public class Solution { 
	public boolean ABCheck(String str) {
    //예외는 false 반환
		if (str.length() == 0) return false;

		str = str.toLowerCase();

		for (int i = 4; i < str.length(); i++) {
		if ((str.charAt(i) == 'a' && str.charAt(i-4) == 'b') || (str.charAt(i) == 'b'&& str.charAt(i-4) == 'a')) return true;
		}
		return false;
	} 
}

흐름
1. 빈배열 return false
2. for (i를 4로 하고 str의 길이보다 작을 때까지 반복문을 돌림)
3. if (문자열의 첫번째가 a이고 마지막이 b인 길이 5의 문자열인지) || (문자열의 첫번째가 b이고 마지막이 a인 길이 5의 문자열인지) return true;

i를 4로 한 이유는 i를 0으로 하고 if문에서 i+4를 하면 배열의 총 길이를 초과한다
따라서 배열의 길이보다 검색하는 길이가 길 수 없으므로 i를 4로 한 것이다.

toLowerCase(): 소문자로 변환
charAt(): String타입을 char타입으로 변환할 때 사용

profile
return Success;

0개의 댓글