원하는 문자열 찾기
문제 #
알파벳으로 이루어진 문자열 myString
과 pat
이 주어집니다. myString
의 연속된 부분 문자열 중 pat
이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요.
단, 알파벳 대문자와 소문자는 구분하지 않습니다.
- 제한사항
- 1 ≤
myString
의 길이 ≤ 100,000 - 1 ≤
pat
의 길이 ≤ 300 myString
과pat
은 모두 알파벳으로 이루어진 문자열입니다.
- 1 ≤
문제분석 #
나의 풀이 #
class Solution {
public int solution(String myString, String pat) {
// myString의 길이가 pat보다 더 짧을 경우 myString의 부분 문자열 중 pat와 같은 문자열이 있을 수 없다.
if(myString.length() < pat.length()) {
// 따라서 0을 return 한다.
return 0;
}
// 대소문자가 섞여있으므로 모두 소문자(혹은 대문자)로 변경하여 비교한다.
myString = myString.toLowerCase();
pat = pat.toLowerCase();
// indexOf()는 찾으려는 문자가 포함되지 않을 경우 -1을 반환한다.
return (myString.indexOf(pat) == -1) ? 0 : 1;
}
}
다른 사람의 풀이 #
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
String str = myString.toLowerCase();
String str2 = pat.toLowerCase();
if (str.indexOf(str2) != -1) {
return 1;
}
return 0;
}
}
관련개념 학습 #
문제 #
문제 설명을 적는다.
-
제한사항
-
입출력 예
문제분석 #
나의 풀이 #
//나의 코드를 적는다.
다른 사람의 풀이 #
//다른 사람의 풀이중 참조할 코드를 적는다.