๐กA>B , B>A ๋ก ๋ฐ๊พผ ๋ค pat ์ ๋ฌธ์์ด์ด ํฌํจ๋๋์ง 0,1๋ก ๋ฐํ
replace ๋ก a ,b ๊ฐ์ ๋ณ๊ฒฝํด์ฃผ๋๋ฐ, ์ด๋ ์๋ฌธ์ b ๋ก ๋ฐ๊ฟ์,
B ๋ฅผ A ๋ก ๋ฐ๊ฟ ๋ > ๋ฐ๊พผ B ๋ฅผ ๋ A๋ก ๋ฐ๊พธ์ง ์๋๋ก ์ฃผ์ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก b ๋ฅผ ๋๋ฌธ์๋ก ๋ง๋ค์ด์ค๋ค.
์ด๋ replace(), toUpperCase() ํจ์๋ ๋ณ๊ฒฝ๋ ๋ฌธ์์ด์ ๋ฐํํ๊ธฐ ๋๋ฌธ์
๋ณ์์ ๋ค์ ํ ๋นํด์ค์ผํ๋ค. (์ด๋ฐ์ myString = ์ ์ํด์ค์ ใ ๋งํ์๋ค.)
์ดํ contains ํจ์๋ฅผ ํตํด pat ์ด ์๋์ง๋ง ํ์ธํด์ฃผ๋ฉด ๋ !!
๐ฌ str.replace(a,b) :: str ์ a ๋ฅผ b ๋ก ๋ณ๊ฒฝ
๐ฌ str.toUpperCase() :: str ์ ๋๋ฌธ์๋ก ๋ณ๊ฒฝ
๐ฌ str.contains(a) :: a ๊ฐ str ์ ํฌํจ๋์ด์๋์ง ํ์ธํ true, false ๋ฐํ
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
myString = myString.replace("A","b"); // A > b 2์ฐจ ์ฐ์ฐ์ ํท๊ฐ๋ฆฌ๋ฏ๋ก ์๋ฌธ์ b ๋ก ๋ณํ
myString = myString.replace("B","A"); // B > A
myString = myString.toUpperCase(); // b > B
if (myString.contains(pat)){ // pat ์ด ํฌํจ๋์ด์์ผ๋ฉด 1 ์๋๋ฉด 0
answer = 1;
}else {
answer = 0;
}
return answer;
}
}
๐ก์ฒซ๋ฒ์งธ ์๋ (์คํจ)
๋ฌธ์ ๋ฐฐ์ด๋ก ์ ๊ทผํด๋ณด๋ ค๊ณ ํ์ง๋ง ์ด๋ ๊ฒ ์ ๊ทผํ๋ฉด ๋ณต์กํด์ง๋ค. ใ replace ํจ์ ์ฌ์ฉํด๋ณด์!!
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
char [] ch = myString.split(""); // ๋ฌธ์๋ก ์ชผ๊ฐ๊ธฐ
for (int i = 0; i < str.length; i++){
if (str[i] == 'A'){ // A > B ๋ก
str[i] = 'B';
}else if (str[i] == 'B'){ // B > A ๋ก
str[i] = 'A';
}
}
// ์ฐ์ํ๋ ๋ถ๋ถ๋ฌธ์์ด ์ค pat ์ด ์๋ค๋ฉด 1 or 0
String str1 = new String(str);
for (int i = 0; i < str1.length(); i++){
if (str1.substring(i).startWith(pat)){
answer++;
}
}
return answer;
}
}