문제설명
제한사항
입출력 예
말로하는 순서도
solution 함수 선언 및 매개변수 const char형 포인터 가위바위보값 문자열 rsp 선언
int형 len이라는 문자열의 길이를 담을 변수선언 및 strlen을 사용하여 rsp의 길이를 담음
char형 포인터 answer 선언 char형 포인터 malloc를 사용하여 동적할당 문자열의 길이에 1을 더한값을 할당
for문 문자열의 길이만큼 반복 변수증가
if문 rsp문의 for문 변수위치의 값이 '2'와 같다면
answer의 for문변수값 위치의 '0'을 넣는다
else if문 rsp문의 for문 변수위치의 값이 '0'와 같다면
answer의 for문변수값 위치의 '5'을 넣는다
else문 이라면
answer의 for문 변수값 위치의 '2'를 넣는다
answer의 len값 위치의 NULL을 넣는다
최종반환
소스코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* rsp) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int len=strlen(rsp);
char* answer = (char*)malloc(rsp+1);
for(int i=0; i<len; i++)
{
if(rsp[i]=='2')
{
answer[i]='0';
}
else if(rsp[i]=='0')
{
answer[i]='5';
}
else
{
answer[i]='2';
}
}
answer[len]=NULL;
return answer;
}
풀이
각 경우를 모두 하는것 보다 이기는것만을 반환 하면 되기에 각 조건을 if문으로 하였다
' ' 으로 숫자를 넣는것이 중요한것이 char형이기에 문자로 들어가야한다
출처: 프로그래머스 코딩테스트연습 입문문제, https://school.programmers.co.kr/learn/courses/30/lessons/120839
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90