728x90
▶문제 : 369 게임 (codeup.kr)
▶코드 작성
#include <stdio.h>
int main()
{
char num[4];
int cnt = 0;
scanf("%s", num);//문자열로 입력 받기
if ((num[0] - '0') % 3 == 0)//3의 배수일 때
{
num[cnt++] = 'K';//문자 K를 넣고 다음 자리(cnt)를 가리킨다
}
if (num[1] != NULL && (num[1] - '0') % 3 == 0 && num[1] != '0')
{//다음 num[1] 숫자가 있고 3의 배수이고 0이 아닐 때
num[cnt++] = 'K';
}
if (num[2] != NULL && (num[2] - '0') % 3 == 0 && num[2] != '0')
{//다음 num[2] 숫자가 있고 3의 배수이고 0이 아닐 때
num[cnt++] = 'K';
}
if (cnt == 0) printf("%s", num);//위 조건에 한번도 만족하지 못했을 때
else
{
num[cnt] = '\0';
printf("%s", num);
}
return 0;
}
▶해석
정수로 입력받으면 뻔하니까 문자열로 입력받아서 if문 조건을 숫자가 존재하는지, 3의 배수인지, 0이 아닌지를 판단하였다. 문자 K를 넣을 때 자리가 다르면 안 되기 때문에 cnt변수를 따로 선언하여 K를 넣을 때마다 +1 해주었다. if문 조건을 만족하지 못하면 cnt==0이므로 숫자를 그대로 출력해주었고, 아니면 num [cnt] = '\0'으로 문자를 끝 마침 해주어 K를 출력해주었다.
728x90
'코드업(codeup) > C' 카테고리의 다른 글
코드업(codeup) 3710 : 369 게임 3 (Large Test Case) C언어 (0) | 2021.12.31 |
---|---|
코드업(codeup) 2011 : 369 게임 2 C언어 (0) | 2021.12.31 |
코드업(codeup) 3702 : 파스칼의 삼각형 2 C언어 (0) | 2021.12.29 |
코드업(codeup) 3701 : 파스칼 삼각형 C언어 (0) | 2021.12.26 |
코드업(codeup) 3020 : 기억력 테스트 4 C언어 (0) | 2021.12.26 |
댓글