본문 바로가기

코딩테스트/Coding Bat

[코딩뱃] [자바] Warmup - 2단계 : doubleX 문제

728x90
728x90

https://codingbat.com/prob/p186759

 

CodingBat Java Warmup-2 doubleX

Given a string, return true if the first instance of "x" in the string is immediately followed by another "x".

codingbat.com



= 문제 번역 =

문자열이 주어지면 문자열에서 "x"의 바로 다음에 다른 "x"가 오면 true를 반환합니다.

 

= 문제푸는 팁 =

우선, 이거는 정해진 조건에 맞추기 위해서 i+1이 str의 렝스보다크면 false를 조건으로 걸고 시작했다.

그 이후에 equals에 처음에는 i와 i+1을했는데, 오류가나서, i+1,i+2로 했더니 정답이나왔다.!

 

= 해설 =

< 1 > 
boolean doubleX(String str) {
	int i = str.indexOf("x");
	if(i+1>=str.length()) {
		return false;		
	}else{
	return str.substring(i+1,i+2).equals("x");
    }
}


< 2 >
boolean doubleX(String str) {
int i = str.indexOf("x");
if (i == -1) return false; // no "x" at all

// Is char at i+1 also an "x"?
if (i+1 >= str.length()) return false; // check i+1 in bounds?
return str.substring(i+1, i+2).equals("x");

// Another approach -- .startsWith() simplifies the logic
// String x = str.substring(i);
// return x.startsWith("xx");
}

728x90