728x90
프로그래머스 _ 코딩 기초 트레이닝 DAY 18 - (4)
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/181864
문제 | 문자 "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;
}
}
'코딩테스트 > 프로그래머스 Lv.0' 카테고리의 다른 글
[프로그래머스] 무작위로 K개의 수 뽑기 (stream.distinct()) - JAVA (0) | 2023.10.14 |
---|---|
[프로그래머스] 빈 배열에 추가, 삭제하기 (Stack) - JAVA (0) | 2023.10.14 |
[프로그래머스] 문자열 잘라서 정렬하기 - JAVA (0) | 2023.10.09 |
[프로그래머스] 공백으로 구분하기2 (trim(), 정규표현식) - JAVA (0) | 2023.09.14 |
[프로그래머스] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (lastIndexOf) - JAVA (0) | 2023.09.14 |