#include <stdio.h>
char s[100];
int an[4];
void search(int p, int m);
int main(void)
{
int num, p, m;
scanf("%s", s);
scanf("%d %d", &p, &m);
search(p, m);
return 0;
}
void search(int p, int m)
{
int i=0, h=1, c=0, a=0, ac=0;
while(s[i]>='0' && s[i]<='9' || s[i]=='-')
{
if(s[i]=='-')
{
h++;//h=몇번째 더미인지
if(c>4)
a=-1;
else if(h==m)
a=i+1;
else if(h==m+1)
ac=c;
c=0;
}
else
c++;
i++;
}
if(c>4 || h<m)
a=-1;
if(ac==0)
ac=i-a;
//a=m번째 더미 시작 방번호, ac=m번째 더미 숫자 개수
//printf("a=%d ac=%d\n", a, ac);
if(a!=-1)
{
if(ac<4)//m번째 더미 숫자 개수가 4보다 작을 경우
{
for(i=0; i<4-ac; i++)
an[i]=p;
}
for(i=4-ac; i<4; i++)
{
s[a]=s[a]-'0'+p;
if(s[a]>=10)//p를 더한 값이 두자리 수일 경우
s[a]=s[a]%10;
an[i]=s[a];
a++;
}
for(i=0; i<4; i++)
printf("%d", an[i]);
}
else//숫자 더미들 중 숫자 개수가 4개 이상인 더미가 있는 경우
printf("INPUT ERROR!");
}
2017.12.09 11:27
정올 - 실력키우기 - 전화번호 속의 암호(1620)
조회 수 436 추천 수 0 댓글 0