프로그래머스 코딩테스트 연습/Level1

가운데 글자 가져오기(c언어)

긷뚜 2020. 6. 11. 20:00
728x90

https://programmers.co.kr/learn/courses/30/lessons/12903?language=c

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr

1.먼저 문자열 길이의 홀 짝을 판별한다

2.홀 짝에 따라 answer의 메모리 할당크기를 조절

 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* s) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int check;
    if (strlen(s)%2==1) {
        check =1;
    }
    else {
        check =2;
    }
    char* answer = (char*)malloc(sizeof(char)*check);
    
    if (check == 1) {
        answer[0] = s[(int)(strlen(s) / 2)];
    }
    else {
        answer[0] = s[(strlen(s) / 2) - 1];
        answer[1] = s[(strlen(s) / 2)];
    }
    return answer;
}
728x90