성장일기

내가 보려고 정리하는 공부기록

코딩테스트/프로그래머스 Lv.0

[프로그래머스] 문자열 바꿔서 찾기 (str.contains) - JAVA

와나나나 2023. 10. 13. 17:51
728x90

프로그래머스 _ 코딩 기초 트레이닝 DAY 18 - (4)

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/181864 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 |  문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요.

 

입력 #1 |  myString = "ABBAA" / pat = "AABB"

출력 #1 | 1


>> 풀이 <<

문자열에서 A를 B로, B를 A로 바꾸는 작업을 한 후, pat이 있는지 유무를 확인하면 되는 문제이다. 그래서 replace를 이용해 문자를 바꾼 후 contains를 이용해 유무를 확인했다.

 

  • 문자 대체하기 - replace(str1, str2)
    • str.replace(str1, str2)는 str에 있는 str1을 str2로 대체하는 메소드이다. 
  • 문자열 유무 확인하기 - str.contains(pat)
    • boolean str.contains(pat)은 str에 pat이 있는지 확인한 후, 있으면 true, 없으면 false를 리턴하는 메소드이다.

코드는 다음과 같다.

class Solution {
    public int solution(String myString, String pat) {
        myString = myString.replace("A", "C")
                         .replace("B", "A")
                         .replace("C", "B");
        
        if (myString.contains(pat) == true) return 1;
        return 0;
    }
}