PS-Algorithm/Algorithm
[프로그래머스/C언어] 가운데 글자 가져오기
su8y
2020. 12. 12. 17:28
문제 :
풀이방식 :
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. 라는 주석이 달려있다
짝수와 홀수의 반환값이 다르니까 그에 맞게 반환값에 따른 동적할당을 하면 어떨까 싶었다 .
홀수의 경우에는 한글자를 반환하고
짝수의 경우에는 두글자를 반환한다. ( 둘다 반환하는 크기는 단어 길이에 영향을 받지않을거라고 생각했다 )
까먹지 않게 마지막에는 NULL 을 넣어준다 .(NULL = \0)
<>코드
char *solution(const char *s)
{
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char *answer;
int length = strlen(s);//#include string.h char*s가 받는 문자의 길이
if (length % 2) // 홀수라면
{
answer = (char *)malloc(sizeof(char) * 2);
answer[0] = s[length / 2];
answer[1] = '\0';
}
else //짝수라면
{
answer = (char *)malloc(sizeof(char) * 3);
answer[0] = s[length / 2 - 1];
answer[1] = s[length / 2];
answer[2] = '\0';
}
return answer;
}
어렵지 않은 문제지만 마지막에 NULL 문자를 까먹어서 조금 애먹었다 ..ㅜㅜ
프로그래머스에서는 다른사람의 문제풀이를 볼수있는데 그걸 사용해고 겨우 NULL문자를 넣어서 값이 이상하게 나온걸 고칠수있었다 .
반응형