반응형
https://www.acmicpc.net/problem/1259
1259번: 팰린드롬수
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
www.acmicpc.net
✔ 알고리즘
- 구현
- 문자열
✔ 접근방법
1. 특정 문자가 나올 때까지 반복 하므로 while문 사용
2. 첫번째 인덱스, 마지막 인덱스를 시작으로 인덱스를 1씩 이동해주며 비교
인덱스가 같아지거나(인덱스가 홀수개), 역순으로 바뀌면(인덱스가 짝수개) yes로 검사 종료
3. 계속 런타임 에러가 나서 봤더니 논리연산자를 | 를 쓴 것이 문제
💡 논리연산자는 and / or 로 써줘야 함 (|, & 는 파이참에서는 에러는 안 나지만 구문 에러인 것은 맞는듯 함)
✔ 코드
num_list=[]
while(1):
n = input()
if(n =='0'):
break
num_list.append(n)
for s in num_list:
start = 0
end = len(s) - 1
while(1):
if(s[start]!=s[end]):
print("no")
break
start +=1
end -= 1
if(start>=end): #같은 인덱스이거나 인덱스가 역순으로 바뀌면 검사 완료
print("yes")
break
✔ 배운점/아쉬운점
1. 슬라이싱을 통해 더 간단하게 구현 가능
for i in num_list:
if(i == i[::-1]):
print("yes")
else:
print("no")
2. 논리연산자는 and / or 로 써줘야 함 (|, & 는 파이참에서는 에러는 안 나지만 구문 에러인 것은 맞는듯 함)
반응형
'알고리즘 > 백준(BOJ) 문제 풀이' 카테고리의 다른 글
[Python]백준 #11866 요세푸스 문제 0 (0) | 2022.07.04 |
---|---|
[Python]백준 #1018 체스판 다시 칠하기 (0) | 2022.07.03 |
[Python]백준 #11050 이항계수1(class2+) (0) | 2022.03.12 |
[Python]백준 #10814 나이순 정렬(class2+) (0) | 2022.03.12 |
[Python]백준 #10250 ACM호텔(class2+) (0) | 2022.03.12 |