[programmers] 원하는 문자열 찾기 - Java

주어진 문자열 `myString`과 `pat`을 비교하여 `pat`이 `myString`에 포함되면 1을, 그렇지 않으면 0을 반환하는 solution 함수를 작성해야 합니다. 대소문자를 구분하지 않고 비교해야 하며, 이를 위해 toLowerCase() 메소드와 contains() 메소드를 사용할 수 있습니다.
Jan 14, 2024
[programmers] 원하는 문자열 찾기 - Java

문제 설명

알파벳으로 이루어진 문자열 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

👨🏻‍💻DriedPollack's Blog