fork(1) download
  1.  
  2. def solution(S):
  3. Trigger1 = True;
  4. while(Trigger1 == True):
  5. count = 0;
  6. givens = S
  7. if(len(givens)>1 and len(givens)<1001):
  8. for x in givens:
  9. if(ord(x)==63 or (122>=ord(x) and ord(x)>=97)):
  10. count+=1;
  11. if(count==len(givens)):
  12. Trigger1 = False;
  13. else:
  14. print("1-1000자리 문자열/a-z혹은?로 이루어진 문자열을 입력해주세요.");
  15. n = int(len(givens)/2)
  16. i = 0;
  17. count2 = 0;
  18. count3 = 0;
  19. while(n>i):
  20. if(givens[i]=='?' or givens[-i-1]=='?'):
  21. count2+=1;
  22.  
  23. if(givens[i]=='?' and givens[-i-1]!='?'):
  24. table = str.maketrans('?', givens[-i-1]);
  25. givens = givens.translate(table)
  26. elif(givens[i]!='?' and givens[-i-1]=='?'):
  27. table = str.maketrans('?', givens[i]);
  28. givens = givens.translate(table)
  29. else:
  30. table = str.maketrans('?', 'a');
  31. givens = givens.translate(table)
  32. elif(givens[i]==givens[-i-1]):
  33. count2+=1;
  34. i+=1;
  35. if(count2==n):
  36. print(givens);
  37. return givens;
  38. else:
  39. print("NO");
  40. return "NO";
  41. solution("?ab??a");
  42. solution("abab?");
  43. solution("?a?c?a?");
  44. solution("?abbc?a?");
  45. solution("?a?c?a?");
Success #stdin #stdout 0.02s 9284KB
stdin
Standard input is empty
stdout
NO
ababa
aaacaaa
NO
aaacaaa