문자열 바꿔서 찾기 Lv. 0

박영준·2023년 5월 31일
0

코딩테스트

목록 보기
172/300
class Solution {
    public int solution(String myString, String pat) {
        int answer = 0;
        return answer;
    }
}


해결법

방법 1

class Solution {
    public int solution(String myString, String pat) {
        String str = "";
        
        for (int i = 0; i < myString.length(); i++) {
            if (myString.substring(i, i+1).equals("A")){
                str += "B";
            } else {
                str += "A";
            }
        }
        
        return str.contains(pat) ? 1 : 0;
           
    }
}
  • String str = "";

    • String 타입 선언
  • substring(i, i+1) : 문자열 잘라내기

    • 문자를 두 개씩 잘라내서, A는 B로, B는 A로 변경
  • contains()

방법 2

class Solution {
    public int solution(String myString, String pat) {
        int answer = 0;
        String str = "";
        
        String[] strArr = myString.split("");
        
        for (int i = 0; i < strArr.length; i++) {
            if (strArr[i].equals("A")) {
                strArr[i] = "B";
            } else if (strArr[i].equals("B")){
                strArr[i] = "A";
            }
            
            str += strArr[i];
        }
        
        if (str.contains(pat)) {
            answer = 1;
        }
        
        return answer;
    }
}
  • split("")

  • equals()

  • contains()

방법 3

class Solution {
    public int solution(String myString, String pat) {
        myString = myString.replace("A", "a").replace("B", "A").replace("a", "B");
        return myString.contains(pat) ? 1 : 0;
    }
}
  • replace() : replace() 를 이어서 사용할 수도 있다!

    • A -> a : A를 B로 먼저 바꿔버리면, 모든 문자가 B가 돼서 구별이 어려워짐
    • B -> A
    • a -> B

    참고: String 클래스


문자열 바꿔서 찾기 Lv. 0

profile
개발자로 거듭나기!

0개의 댓글