[프로그래머스/Java] Lv.0 원하는 문자열 찾기

febCho·2024년 3월 12일
0

코딩테스트

목록 보기
75/253
post-thumbnail

문제

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

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

- 제한사항

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

풀이

equalsIgnoreCase()처럼 대소문자를 무시하고 문자열이 포함되어 있는지 여부를 체크하기 위해 toLowerCase()를 사용해 주었다. (물론 toUpperCase()를 사용해도 된다.) 실행 예시처럼 aBc가 AbCdEfG에 포함된다고 본다면, 둘을 대/소문자 중 하나로 일괄되게 바꾼 다음 비교하면 되는 문제이기 때문이다.

아 그리고 실제로 존재하는 containsIgnorcase()org.apache.commons.lang3.StringUtils 클래스를 활용해야 하는데, 이는 외부 라이브러리로 jar 파일을 추가해야 쓸 수 있다고 한다.

class Solution {
    public int solution(String myString, String pat) {
        int answer = 0;
        
        if(myString.toLowerCase().contains(pat.toLowerCase())) answer = 1;
        
        return answer;
    }
}

결과

profile
Done is better than perfect.

0개의 댓글