본문 바로가기
코딩테스트/프로그래머스 기초

[코딩테스트 Lv.0] 원하는 문자열 찾기

by 블루데이제이 2025. 2. 26.
728x90
반응형
문제 설명

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

내 풀이
Java
class Solution {
    public int solution(String myString, String pat) {
        int answer = 0;
        
        myString = myString.toLowerCase();
        pat = pat.toLowerCase();        
        
        return myString.contains(pat) ? 1 : 0;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* myString, const char* pat) {
    int answer = 1;
    
    char* str = myString;
    char* p = pat;
    
    int i = 0;
    for(i = 0; i < strlen(myString); i++){
        if(myString[i] >= 'A' && myString[i] <= 'Z'){
            str[i] = myString[i] + 32;
        }
    }
    
    
    for(i = 0; i < strlen(pat); i++){
        if(pat[i] >= 'A' && pat[i] <= 'Z'){
            p[i] = pat[i] + 32;
        }
    }
    
    
    for(i = 0; i < strlen(str); i++){
        if(strstr(str, p) == NULL){
            return 0;
        }    
    }
    
    return answer;
}
Python
def solution(myString, pat):
    answer = 0
    myString = myString.lower()
    pat = pat.lower()
    
    if pat in myString:
        answer = 1
    
    return answer

https://school.programmers.co.kr/learn/courses/30/lessons/181878

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


 

[코딩테스트 Lv.0] 대문자로 바꾸기

문제 설명알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.제한사항● 1 ≤ myString의 길이 ≤ 100,000 ○ myStr

bluedayj.tistory.com

 

 

[코딩테스트 Lv.0] 소문자로 바꾸기

문제 설명알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.제한사항● 1 ≤ myString의 길이 ≤ 100,000 ○ myStr

bluedayj.tistory.com

 

 

[코딩테스트 Lv.0] 배열에서 문자열 대소문자 변환하기

문제 설명문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열

bluedayj.tistory.com

 

728x90
반응형