내 풀이.
count=int(input())
string_list=[]
string_list_clone=[]
for i in range(count):
string_list.clear()
string_list_clone.clear()
string=input().lower()
for j in string:
string_list.append(j)
string_list_clone=string_list[::-1]
if string_list_clone==string_list:
print("YES")
else:
print("NO")
a.reverse 함수 사용시 복사본 원본 모두 순서가 바뀜
-->[::-1] 이용시 해당 리스트만 순서가 거꾸로 변경되고 원본은 유지됨
b.리스트에 문자열을 순서대로 집어넣고 리스트의 순서를 반대로 바꿔서 그 두 리스트를 비교하는 풀이를 사용함
강의 풀이.
n=int(input("n의 값을 입력하시오")) #단어의 개수를 알려줌
for i in range(n):
s=input()
s=s.upper()
size=len(s)
for j in range(size//2):
#이 부분에 주목-->문자열의 개수가
#홀수일 경우에 그냥 가운데 문자는 무시하면 됨!
#이를 코드로 표현한 것이 size//2
if s[j]!=s[-1-j]:
print("#%d NO" %(i+1))
break
else:
print("#%d YES" %(i+1))
#for-else문은 for문이 break 없이 모두 수행되었을 경우에
#실행되는 코드!
a. if s[j] != s[-1-j]
-->이 부분에서 문자열의 순서를 나타낼 때 -1 -2 -3... 으로 거꾸로 순서를 지정
혹은 순서대로 0,1,2,3.. 순서 지정
그 특징을 이용해서 문제를 해결함
5.1 가장 큰 수 (스택) (0) | 2021.07.19 |
---|---|
4.4 마구간 정하기 (결정 알고리즘) (0) | 2021.07.15 |
4.3 뮤직비디오(결정 알고리즘) (0) | 2021.07.14 |
4.2 랜선 자르기(결정 알고리즘) (0) | 2021.07.13 |
4.1 이분 검색 (0) | 2021.07.12 |
댓글 영역