문제 :
풀이방식 :
각 단어에 첫번째 글자는 0번째 인덱스로보아서 짝수번째로 처리해야된다고 제한사항에 나와있다
중간에 스페이스바가 있으면 단어의 끝을 알려줌으로 다음문자는 짝수번째 즉 대문자가 나오게끔해주면된다 .
0번째 : 대문자 -> 1번째 : 소문자 -> 2번째 :대문자 ... 식으로 간다 .
bool 타입을 사용해서 홀수인지 짝수인지 판별한다
!bool 은 bool 의 ture 가 있다고 가정해보자 그러면 !bool 은 false. ture 반대이다 이런식으로 만들었다..
<>코드 :
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* s) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(1 * strlen(s) + 1); // 짝수번째 +1 은 NULL 문자 까지
strcpy(answer, s); //strcpy () 함수를 이용해서 s의 값을 answer 의 복사해줌
bool isodd = true; //bool type 을 선언하여 짝수인덱스인지를 판별
for(int i = 0; i <strlen(s); i++)
{
if(answer[i] == ' ') { //answer[i] 의 띄어쓰기 가 들어온다면 if 실행
isodd = true;
continue; // continue 를 사용하여 탈출
}
if(isodd) // bool type isodd 가 참 이라면
answer[i] = toupper(answer[i]);
else
answer[i] = tolower(answer[i]);
isodd = !isodd;
}
return answer;
}
반응형
'PS-Algorithm > Algorithm' 카테고리의 다른 글
[프로그래머스/C언어] 자연서 뒤집어 배열로 만들기 (0) | 2020.12.13 |
---|---|
[프로그래머스/C언어] 가운데 글자 가져오기 (0) | 2020.12.12 |
[프로그래머스/C언어] 문자열을 정수로 바꾸기 (3) | 2020.12.08 |
[프로그래머스] 두 정수 사이의 값 풀이(C언어) (0) | 2020.12.07 |
프로그래머스 스킬체크(level.1) 통과 !! (0) | 2020.12.07 |