문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요.
입출력 예 #1
"ABBAA"에서 "A"와 "B"를 서로 바꾸면 "BAABB"입니다. 여기에는 부분문자열 "AABB"가 있기 때문에 1을 return 합니다.
입출력 예 #2
"ABAB"에서 "A"와 "B"를 서로 바꾸면 "BABA"입니다. 여기에는 부분문자열 "BABA"가 없기 때문에 0을 return 합니다.
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
return answer;
}
}
import java.lang.StringBuilder;
class Solution {
public int solution(String myString, String pat) {
StringBuilder sb = new StringBuilder();
int answer = 0;
for(int i = 0; i < myString.length(); i++){
if(myString.charAt(i) == 'A') {
sb.append("B");
} else {
sb.append("A");
}
}
if(sb.toString().contains(pat)){
answer = 1;
}
return answer;
}
}
StringBuilder 클래스로 sb 객체를 생성을 한다.
(StringBuilder 클래스는 문자열을 하나씩 모아서 문자열을 만들어주는 클래스이다.)
int answer값을 0으로 초기화를 한 뒤 for문을 활용한다. for문 안에 if문을 통해서 mystring의 한 글자가 'A'랑 같으면 sb 스트링에 "B"를 추가하고 'A'랑 같지 않으면 "A"를 추가한다 또 다음 문자를 돌면서 모든 문자를 변경한다. 그 뒤 다시 if문으로 sb글자를 스트링 타입으로 변환(toString())한 뒤에 pat 문자열과 같으면(contains()) 1을 반환한다.