SW 꿈나무
[Level 1][C] 가운데 글자 가져오기 본문
문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 조건
s는 길이 1 이상, 100 이하 스트링입니다.
Example
Input 1 : "abcde" Input 2 : "qwer"
Output 1 : "c" Output 2 : "we"
Code
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> char* solution(const char* s) { int length = strlen(s); // 정수형 변수 length 선언 및 s의 길이 대입 int check = length%2; // 정수형 변수 check 선언 및 length의 홀짝 여부 대입 char* answer = (char*)malloc(2-check); // answer에 2-check 크기의 메모리 동적 할당 if(length%2==0) { // length가 짝수이면 answer[0]=s[length/2-1]; // answer 첫번째 자리에 s의 가운데 기준 왼쪽 문자 대입 answer[1]=s[length/2]; // answer 두번째 자리에 s의 가운데 기준 오른쪽 문자 대입 } else { // length가 홀수이면 answer[0] = s[length/2]; // answer에 가운데 문자 대입 } return answer; // answer 반환 }
'Algorithm > Programmers' 카테고리의 다른 글
[Level 1][C] 2016년 (0) | 2020.03.26 |
---|---|
[Level 1][C] 문자열을 정수로 바꾸기 (0) | 2020.03.26 |
[Level 1][C] 문자열을 정수로 바꾸기 (0) | 2020.03.26 |
[Level 1][C] 문자열 다루기 기본 (0) | 2020.03.26 |
[Level 1][C] 수박수박수박수박수박수? (0) | 2020.03.26 |
Comments