Blog

원하는 문자열 찾기

문제 #

알파벳으로 이루어진 문자열 myString과 pat이 주어집니다. myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요.

단, 알파벳 대문자와 소문자는 구분하지 않습니다.

  • 제한사항
    • 1 ≤ myString의 길이 ≤ 100,000
    • 1 ≤ pat의 길이 ≤ 300
    • myString과 pat은 모두 알파벳으로 이루어진 문자열입니다.

문제분석 #

나의 풀이 #

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;
    }
}

관련개념 학습 #

문제 #

문제 설명을 적는다.

  • 제한사항

  • 입출력 예

문제분석 #

나의 풀이 #

//나의 코드를 적는다.

다른 사람의 풀이 #

//다른 사람의 풀이중 참조할 코드를 적는다.

관련개념 학습 #