극동대학교\AI컴퓨터공학과\JAVA/프로그래머스 코딩 기초 트레이닝

[프로그래머스, LV.0] 원하는 문자열 찾기

sundori 2024. 1. 5. 16:36

목차

    #1 원하는 문자열 찾기

    문제설명

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

    입출력 예 설명

    • "AbCdEfG"의 0~2번 인덱스의 문자열은 "AbC"이며, 이는 pat인 "aBc"와 같습니다. 따라서 1을 return 합니다.

    입출력 예 #2

    • myString의 길이가 pat보다 더 짧기 때문에 myString의 부분 문자열 중 pat와 같은 문자열이 있을 수 없습니다. 따라서 0을 return 합니다.

    #2 알고리즘 및 코드

    public class Main {
        public static void main(String[] args) {
            String myString = "AbCdEfG";
            String pat = "aBc";
    
            Solution sl = new Solution();
            System.out.println(sl.solution(myString, pat));
        }
    }
    class Solution {
        public int solution(String myString, String pat) {
            if(myString.toLowerCase().contains(pat.toLowerCase())){
                return 1;
            } else{
                return 0;
            }
        }
    }
    class Solution {
        public int solution(String myString, String pat) {
            return myString.toLowerCase().contains(pat.toLowerCase()) ? 1 :  0;
        }
    }
    • 주어진 문자열 myString에 주어진 문자열 pat가 존재하는지 확인하는 문제이다.
    • 소문자든 대문자든 상관없이 주어진 myString 변수에 주어진 pat 변수의 문자열이 존재하냐는 것이다.
    • 따라서 myString과 pat을 전부 소문자로 또는 대문자로 변경하여 포함하고 있는지 확인한다.