본문 바로가기
프로그래머스/C

[프로그래머스/C]프로그래머스 Level 1 : 수박수박수박수박수박수? C언어

by starfish22 2021. 11. 28.
728x90

▶문제 : 코딩 테스트 연습 - 수박 수박 수박 수박 수박수? | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 수박수박수박수박수박수?

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한

programmers.co.kr

 

▶코드 작성

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

char *solution(int n)
{
    // 리턴할 값은 메모리를 동적 할당해주세요.
    char *answer = (char *)malloc(n * strlen("수"));//한 글자의 문자길이와 n값을 곱한 메모리 할당

    strcpy(answer, "");//쓰레기값 제거

    for (int i = 0; i < n; i++)
    {
        if (i % 2 == 0)//짝수일 때
        {
            strcat(answer, "수");
        }
        else//홀수일 때
        {
            strcat(answer, "박");
        }
    }

    return answer;
}

 

▶해석

한 글자 "수"의 길이와 개수 n을 곱한 만큼 메모리 할당을 하고 짝수일 때 "수" , 홀수일 때 "박"을 이어 붙인다.

728x90

댓글