Coding Problem/프로그래머스

[프로그래머스/Lv1] - 수박수박수박수박수박수?

마탁이 2021. 4. 29. 21:32

programmers.co.kr/learn/courses/30/lessons/12922

 

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

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

programmers.co.kr

  • UTF8에서 한글은 3 Byte를 사용한다는 것을 알고 있어야 풀 수 있는 문제

더보기
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>

char* solution(int n) {
    // 리턴할 값은 메모리를 동적 할당해주세요.
    char* answer = (char*)malloc(sizeof(char*) * (n*3) + 1);   

    bool isSu = true;
    for (int idx = 0; idx < n; idx++)
    {
        if (true == isSu)
        {
            strcpy(answer + (idx * 3), "수");
            isSu = false;
        }
        else 
        {
            strcpy(answer + (idx * 3), "박");
            isSu = true;
        }
    }

    return answer;
}

int main()
{
    char* ans = solution(3);
    printf("%s\n", ans);


    return 0;
}