[PYTHON] 문자열 거꾸로 역순 출력
<대소문자 관계없이 거꾸로해도 같은 글자라면 "yes"를 아니라면 "no"를 출력하시오>
- 사용한 idle 프로그램 : visual studio
- visual studio에 파이썬 프로젝트를 만들어 그 하위에 "input.txt"파일을 생성해 input값을 자동으로 가져오게 함 (좀 더 자동화를 위해)
>> 이 파일은 프로젝트 바로 밑에 만들어야한다. 만약, folder를 만든 후 그 안에 만든다면 읽어올 수 없어요. (이유는 몰라요)
>> 만약, 직접 값을 넣고 싶다면 #1, #2 row는 없어도 상관없다.
-
문제
주어진 문자 list중 역순으로 해도 똑같은지 확인하시오
-
알고리즘 표현
list의 문자를 하나씩 역순으로 바꾼다.
-> 원래의 문자와 같은지 검사한다.
-> 같다면 YES, 다르다면 NO를 출력한다.
-
input
list = [kyk, annyung, dfgfd, goodnight, heieh]
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import sys
sys.stdin=open("input.txt","rt")
##이 두 줄은 기본코드입니다.사실 없어도 되며, 직접 값을 넣어도 됩니다.
n=int(input()) # n개의 string문자가 있다.
for i in range(n): # n개만큼 반복됨
string = input().lower() # 대소문자 구별을 없애기 위해, 모두 소문자로 바꿈
if string == string[::-1]:
# string을 거꾸로 바꾸는 코드입니다. string[마지막 index ~ -1]순으로 읽기때문에 거꾸로 문자를 바꿔준다.
print("{} {}".format(i+1, "같음"))
else:
print("{} {}".format(i+1, "다름"))
|
-
결과값
같음
다름
같음
다름
다름
-
배울코드
row #9 를 보면 if string == string[::-1] 라고 되어있습니다. 이것은 마지막 인덱스 ~ 첫번째인덱스(0)까지를 의미합니다.
즉, 마지막 인덱스를 생략한 코드 입니다.
만약 검사할 string이 abcde라면 len('abcde') = 5 = 마지막 인덱스이므로 [::-1] == [5:-1]과 같은뜻입니다.
즉, 5 -> 4 -> 3 -> 2 -> 1 -> 0 (-1은 포함하지 않기 때문) 순으로 읽어들이게 됩니다.
*)
어떤 피드백이든 댓글부탁드립니다.
더 좋은 방법이 있다면 알려주세요.
도움이 되셨다면, 하트버튼 또는 댓글부탁드려요~
요청할 문제가 있다면 댓글 부탁드려요!!!
*(
'python > 파이썬 예제' 카테고리의 다른 글
스도쿠가 정답인지 확인하는 코드 [#6] (0) | 2020.04.12 |
---|---|
파이썬 행의 합, 열의합, 최대값 구하는 함수[#5] (0) | 2020.03.21 |
파이썬 최빈값 구하시-dictionary 사용 [#4-1] (0) | 2020.03.18 |
[python example #3] 숫자 순으로 리스트 합치기(중복제거list 합치기) (0) | 2020.03.16 |
파이썬으로 소수찾기 함수 [#2] (0) | 2020.03.15 |