반응형
문제
문자열을 입력 받고, 회문 문자열 검사를 한다. 단, 대소문자 구분을 하지 않는다.
주의
파이썬 특징을 살리는 코드로 간단하게 작성할 수도 있으나 가능하면 풀어서 쓰는 게 좋다.
풀이
n = int(input())
for i in range(n):
s = input()
# s를 대문자화 시켜준다.
s = s.upper()
############ 풀어서 쓴 코드 이 코드로 이해하는 게 좋다. ####################
#s열의 길이를 구해준다.
size = len(s)
# 처음과 끝, 짝지어 비교하면 되므로 나누기 2를 해준 수 만큼 비교해 준다.
for j in range(size//2):
# 맨 뒤에서 리스트에 접근할 때 -1이 먼저인데 j는 0이라 -1-j를 해준다.
if s[j] != s[-1-j]:
# 문제 출력 조건이 #1 YES 이런 식이라 앞에 #을 앞에 넣어 작성해야 하므로 포멧 형태로 작성한다.
# i는 0부터 돌기 때문에 +1을 해준다.
print("#%d NO" %(i+1))
break
else:
print("#%d YES" %(i+1))
############ 파이썬 특징을 살린 코드 ####################
# 리버스 해준다. s[::-1]
# if s == s[::-1]:
# print("#%d YES" %(i+1))
# else:
# print("#%d NO" %(i+1))
#################################
반응형
'Algorithm > 파이썬 알고리즘 문제풀이 (코딩테스트대비)' 카테고리의 다른 글
[파이썬 알고리즘 문제풀이] : 카드 역배치(정올 기출) (0) | 2021.12.30 |
---|---|
[파이썬 알고리즘 문제풀이] : 숫자만 추출 (0) | 2021.12.29 |
[파이썬 알고리즘 문제풀이] : 점수계산 (0) | 2021.12.28 |
[파이썬 알고리즘 문제풀이] : 주사위 게임 (0) | 2021.12.23 |
[파이썬 알고리즘 문제풀이] : 뒤집은 소수 (0) | 2021.12.22 |
댓글