[출처 : 프로그래머스]
문제
길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한 조건
-
n은 길이 10,000이하인 자연수입니다.
입출력 예
풀이
malloc 함수로 동적할당을 받으면 초기화하지 않을 때까지 쓰레기 값이 들어가 있다. 따라서 반드시 NULL로 초기화를 해주기!!!!
strcpy(answer, "\0");
이거 안해서 계속 실패했다.
코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
char* solution(int n) {
char* s="수";
char* p="박";
// 리턴할 값은 메모리를 동적 할당해주세요.
char* answer = (char*)malloc((sizeof(char)*n*3+1));
strcpy(answer, "\0");
for(int i=0; i<n; i++){
if(i%2==0) strcat(answer, s);
else strcat(answer, p);
}
return answer;
}
* 개인적인 학습 목적으로 작성한 글이기에 내용에 잘못된 정보가 있을 수 있습니다.
* 문제 출처 - https://programmers.co.kr/learn/courses/30/lessons/12922#
'게임 클라이언트 개발 > 알고리즘 문제' 카테고리의 다른 글
[프로그래머스 level 1] 약수의 합 (0) | 2020.08.06 |
---|---|
[프로그래머스 level 1] 문자열을 정수로 바꾸기 (0) | 2020.08.06 |
[프로그래머스 level 1] 문자열 다루기(isdigit함수) (0) | 2020.08.04 |
[프로그래머스 level 1] 문자열 내림차순으로 배치하기 (0) | 2020.08.03 |
[프로그래머스 level 1] 두 정수 사이의 합 (0) | 2020.08.03 |