15927.회문은 회문아니야!!
15927번: 회문은 회문아니야!!
팰린드롬이란 앞으로 읽으나 뒤로 읽으나 같은 문자열을 말한다. 팰린드롬의 예시로 POP, ABBA 등이 있고, 팰린드롬이 아닌 것의 예시로 ABCA, PALINDROME 등이 있다. 같은 의미를 가지는 여러 단어들을
www.acmicpc.net
- 내 풀이
- left, right 이동해가면서 회문아니면 구하고
- 회문이면 2씩 더하고 left+1, right-1 해가는 식으로 하려했지만 실패
- 다른 사람 풀이
- 회문일경우
- 회문에서 한글자만 빼면 회문이 아니기때문에 답: 길이 -1
- 전체가 같은 글자로 회문인경우: -1
- 회문 아닌경우
- 답: 길이
- 회문일경우
# left, right 이동하면서 찾으려했지만 실패
# 회문 -> 회문 길이 -1 이 답
# 회문인데 전부 같으면 -1
lst = input().rstrip()
left = 0
right = len(lst)-1
def palindrome(lst):
if lst != lst[::-1]: # 팰린드롬 아니면
return len(lst)
else:
# 회문인데 전부 같은 문자인 경우
if len(set(lst)) == 1:
return -1
else:
# 회문이면 하나 없앤 값이 답
return len(lst)-1
answer = palindrome(lst)
print(answer)'코딩테스트 > BOJ' 카테고리의 다른 글
| [백준][다익스트라] 5972. 택배 배송 (0) | 2023.08.22 |
|---|---|
| [백준][sliding window] 20437. 문자열게임2 (0) | 2023.08.22 |
| [백준][구현][분할정복][DFS] 16719. JOAC (0) | 2023.08.12 |
| [백준][그리디] 15903. 카드 합체 놀이 (0) | 2023.08.02 |
| [백준] [그리디] 1449. 수리공 항승 (0) | 2023.07.11 |