Algorithm/Programmers
[Level 1][C] 수박수박수박수박수박수?
현식 :)
2020. 3. 26. 20:20
문제
길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000 이하인 자연수입니다.
Example
Input 1 : 3 Input 2 : 4
Output 1 : "수박수" Output 2 : "수박수박"
Code
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> char* solution(int n) { char* s0 = "박"; // 문자형 포인터 s0 선언 및 "박" 대입 char* s1 = "수"; // 문자형 포인터 s1 선언 및 "수" 대입 int len = strlen(s0); // 정수형 변수 len 선언 및 s0의 길이 대입 char* answer = (char*)malloc(sizeof(len)*n); // answer 에 한글 한 문자 * n의 수만큼 메모리 동적 할당 for(int i=0;i<n;i++) { // n만큼 반복 if(i%2==0) { // i가 짝수면 strcpy(answer+(i*len),s1); // answer + i*len 의 포인터 주소에 s1 카피 } else { // i가 홀수면 strcpy(answer+(i*len),s0); // answer + i*len 의 포인터 주소에 s0 카피 } } return answer; // answer 반환 }