문자열안에 문자열[CT]

성배·2025년 1월 6일
1

코딩테스트

목록 보기
1/53

문제

문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.

생각한 풀이 방법

 
1 . isin() -> contains()
2 . charAt()으로 문자 비교


1번 문제 풀이

 
생각한 순서
1. contains() 사용하면 따로 할게 없다

class Solution {
    public int solution(String str1, String str2) {
        int answer = 0;
        if(str1.contains(str2)){
            answer=1;
        }else
            answer=2;
        return answer;
    }
}

 

2번 문제 풀이

생각한 순서
1. str1에서 for문을 통해 비교 시작하는 첫번째 문자 선정
2. str2에서 두번째 for문으로 str1에서 선정한 문자부터 str2.length()까지 비교해야겠다
3. 비교할때 str1 뒤로가면 str2 길이를 벗어나는 인덱스가 발생해서 str1.length()- str2.length()
4. 비교하면서 다른게 나오면 체크 후 break로 나가기

class Solution {
    public int solution(String str1, String str2) {
        int answer = 0;
        
        for(int i=0;i<=str1.length()-str2.length();i++){
            boolean check=true;
            for(int j=0;j<str2.length();j++){
                    if(str1.charAt(i+j)!=str2.charAt(j)){
                       check=false; 
                        break;
                    }
            }
            if(check)
                return 1;
        }
        return 2;
    }
}

0개의 댓글