#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)
조회 수 418 추천 수 0 댓글 0