C언어

[프로그래머스-C언어] 가위 바위 보

랏소베어123 2024. 5. 26. 01:39

문제 설명
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.

제한사항
0 < rsp의 길이 ≤ 100
rsp와 길이가 같은 문자열을 return 합니다.
rsp는 숫자 0, 2, 5로 이루어져 있습니다.

 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>//문자열 함수 내장됨

//가위2,바위0,보5
//    0   5  2
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* rsp) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    char* answer = (char*)malloc(strlen(rsp));
    
    for(int i=0; i<strlen(rsp) ; i++){
        if(rsp[i]=='2')
        {
            answer[i]='0';
        }
        else if(rsp[i]=='0')
        {
            answer[i]='5';
        }
        else if(rsp[i]=='5')
        {
            answer[i]='2';
        }
        answer[strlen(rsp)]=NULL;
    }
    return answer;
}