한 걸음씩
[SWEA][python] 1989 초심자의 회문 검사 본문
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이 과정
T = int(input())
for t in range(1, T+1):
word = input()
if word[:1] == word[-1:]: # 첫 번째 문자와 마지막 문자가 일치하면
print(f'#{t} 1') # 팰린드롬
else:
print(f"#{t} 0")
리뷰
문자열 길이로 접근해서 문제를 풀어볼까 하다가 첫 번째 문자랑 마지막 문자랑 같으면 팰린드롬이 되도록 코드를 짰는데 통과를 했다
만약에 두 번째 문자와 마지막에서 두 번째 문자가 다르면 팰린드롬이 아니게 되는 함정이 있는데 이 문제 에지 케이스에서는 그런 것은 고려하지 않은 것 같다
문자열 길이로 접근하는 방법은 range범위를 입력받은 문자열 길이의 반으로 나눈 값의 몫으로 정하고
슬라이싱을 다음과 같이 하면 위에 짠 코드보다 더 정확하지 않을까 싶다
T = int(input())
for t in range(1, T+1):
word = input()
for i in range(len(word) // 2): # 입력받은 문자 길이를 세어서 반으로 나눈 값이 range 범위
if word[i] == word[-1+i]:
print(f'#{t} 1')
else:
print(f'#{t} 0')
'SWEA' 카테고리의 다른 글
[SWEA][python] 알파벳 공부 D3 (0) | 2023.03.09 |
---|---|
[SWEA][python] 1204 최빈수 구하기 (0) | 2023.02.22 |
[SWEA][python] 1986 지그재그 숫자 (0) | 2023.02.22 |
[SWEA][python] 2056 연월일 달력 (0) | 2023.02.22 |
[SWEA][python] 2050 알파벳을 숫자로 변환 ✅ (0) | 2023.02.22 |