[COS PRO 2급-Python] 팰린드롬 판단하기

Sunhee·2023년 4월 6일

COS PRO - Python 2급

목록 보기
8/44
post-thumbnail

[COS PRO 2급-Python] 팰린드롬 판단하기

문제 설명

앞에서부터 읽을 때와 뒤에서부터 읽을 때 똑같은 단어 또는 문장을 팰린드롬(palindrome)이라고 합니다. 예를 들어서 racecar, noon은 팰린드롬 단어입니다. 소문자 알파벳, 공백(""), 그리고 마침표(".")로 이루어진 문장이 팰린드롬 문장인지 점검하려 합니다. 문장 내에서 알파벳만 추출하였을 때에 팰린드롬 단어이면 팰린드롬 문잔입니다. 예를 들어. "Never odd or even."과 같은 문장은 팰린드롬입니다. 소문자 알파벳, 공백(""), 그리고 마침표(".")로 이루어진 문장 sentence가 주어질 때 팰린드롬인지 아닌지를 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정해주세요.


매개변수 설명

소문자 알파벳, 공백(""), 그리고 마침표(".")로 이루어진 문장 sentence가 solution 함수의 매개변수로 주어집니다.

  • sentence의 길이는 1 이상 100이하입니다.
  • sentence에는 적어도 하나의 알파벳이 포함되어 있습니다.
  • setntence의 각 문자는 소문자 알파벳, 공백(""), 또는 마침표(".")입니다.


return 값 설명

주어진 문장이 팰린드롬인지 아닌지를 return 해주세요.


예시



알고리즘 구상

▶ .과 공백 모두 제외해야 되기 때문에 or 아닌 and를 쓴다!


내가 쓴 코드!

def solution(sentence):
	str = ''
	for c in sentence:
		if c != '.' and c != ' ':
			str += c
	size = len(str)
	for i in range(size // 2):
		if str[i] != str[size - 1 - i]:
			return False
	return True



느낀점

문제설명을 쓰는 사람들도 힘들 것 같다. 팰린드롬이란 단어를 처음 들었는데도 막히는 부분없이 잘 풀어서 뿌뜻하다!


0개의 댓글