[programmers] 원하는 문자열 찾기 - Java
주어진 문자열 `myString`과 `pat`을 비교하여 `pat`이 `myString`에 포함되면 1을, 그렇지 않으면 0을 반환하는 solution 함수를 작성해야 합니다. 대소문자를 구분하지 않고 비교해야 하며, 이를 위해 toLowerCase() 메소드와 contains() 메소드를 사용할 수 있습니다.
Jan 14, 2024
문제 설명
알파벳으로 이루어진 문자열
myString
과 pat
이 주어집니다. myString
의 연속된 부분 문자열 중 pat
이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요.단, 알파벳 대문자와 소문자는 구분하지 않습니다.
제한사항
- 1 ≤
myString
의 길이 ≤ 100,000
- 1 ≤
pat
의 길이 ≤ 300
myString
과pat
은 모두 알파벳으로 이루어진 문자열입니다.
입출력 예
myString | pat | return |
"AbCdEfG" | "aBc" | 1 |
"aaAA" | "aaaaa" | 0 |
입출력 예 설명
입출력 예 #1
- "AbCdEfG"의 0~2번 인덱스의 문자열은 "AbC"이며, 이는
pat
인 "aBc"와 같습니다. 따라서 1을 return 합니다.
입출력 예 #2
myString
의 길이가pat
보다 더 짧기 때문에myString
의 부분 문자열 중pat
와 같은 문자열이 있을 수 없습니다. 따라서 0을 return 합니다.
※2023년 05월 15일 제한사항이 수정되었습니다.
solution.java
class Solution { public int solution(String myString, String pat) { if(myString.toLowerCase().contains(pat.toLowerCase())){ return 1; }else{ return 0; } } }
핵심 키워드
- toLowerCase() 메소드를 통해 문자열을 소문자로 변경한 다음, contains() 메소드를 실행하면 대소문자를 구분하지 않고 대상 문자열에 원하는 문자열이 포함되어 있는지 확인할 수 있다.
결론!
해당 문제를 풀면서 코드를 작성하다가 문자열이 포함되어 있는지 찾는 방법에 어려움을 겪었고, 이를 contains() 메소드를 통해 해결할 수 있었다.
Share article