Python빈칸 채우기보통 · 20점#문자열#반복문#함수

48. 회문 판정과 알파벳 빈도 세기

다음은 양 끝에서 안쪽으로 좁혀 가며 회문(앞뒤가 같은 문자열)을 판정하고, 가장 많이 나온 알파벳을 구하는 Python 프로그램이다. 실행 결과가 "Race car True", "Noon True", "abca False", "b 3 AnadBby" 네 줄이 되도록 빈칸 ①에 들어갈 연산자를 쓰시오.

1def is_pal(s):
2 s = s.lower().replace(" ", "")
3 left, right = 0, len(s) - 1
4 while left < right:
5 if s[left] != s[right]:
6 return False
7 left += 1
8 right ( ① ) 1
9 return True
10
11
12for w in ["Race car", "Noon", "abca"]:
13 print(w, is_pal(w))
14text = "Ann and Bobby"
15cnt = [0] * 26
16for ch in text.lower():
17 if "a" <= ch <= "z":
18 cnt[ord(ch) - ord("a")] += 1
19best = cnt.index(max(cnt))
20print(chr(best + ord("a")), max(cnt), text[::2])

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.