문제
문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
솔루션
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* myString, const char* pat) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(strlen(myString));
int i, j;
for(i = strlen(myString) - 1; i >= 0; i--){
if(strncmp(myString+i, pat, strlen(pat)) == 0)
break;
}
for(j = 0; j < (i + strlen(pat)); j++)
answer[j] = myString[j];
answer[j++] = '\0';
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/181872
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'프로그래머스코딩테스트연습풀이 > C언어' 카테고리의 다른 글
[프로그래머스/C언어] 문자열 뒤집기 (0) | 2023.08.15 |
---|---|
[프로그래머스/C언어] 숨어있는 숫자의 덧셈 (2) (0) | 2023.08.15 |
[프로그래머스/C언어] 문자열이 몇 번 등장하는지 세기 (0) | 2023.08.15 |
[프로그래머스/C언어] 1로 만들기 (0) | 2023.08.15 |
[프로그래머스/C언어] 빈 배열에 추가, 삭제하기 (0) | 2023.08.15 |