알고리즘
section3.1 회문 문자열 검사
gitofjy
2022. 10. 25. 19:06
N개의 문자열 데이터를 입력받아 앞에서 읽을 때나 뒤에서 읽을 때나 같은 경우(회문 문자열) 이면 YES를 출력하고 회문 문자열이 아니면 NO를 출력하는 프로그램을 작성한다. 단 회문을 검사할 때 대소문자를 구분하지 않습니다.
import sys
sys.stdin = open("input.txt", "rt")
n = int(input())
for i in range(n):
tmp = input()
tmp = tmp.lower()
for j in range(len(tmp)//2):
if tmp[j]!=tmp[len(tmp)-1-j]:
print("#%d NO" %(i+1))
break
else:
print("#%d YES" %(i+1))
파이썬 print format이 조금 헷갈려서 헤맸다
자바에서는 , 로 나눠져 있어서 당연히 그렇다고 생각했는데 파이썬은 , 없이 그냥 쓰면 된다
import sys
sys.stdin = open("input.txt", "rt")
n = int(input())
for i in range(n):
s = input()
s = s.upper()
size = len(s)
for j in range(size//2):
if s[j] != s[-1-j]:
print("#%d NO" %(i+1))
break
else:
print("#%d YES" %(i+1))
for i in range(n):
s = input()
s = s.upper()
if s == s[::-1]:
print("#%d YES" %(i+1))
else:
print("#%d NO" %(i+1))
중간에 for문에서 s[::-1]을 하면 반대로 출력이 된다
파이썬 format
print("문자열 %s 숫자 %d %s" %(1번째, 2, "추가 문자도 가능"))
# 문자열 1번째 숫자 2 추가 문자도 가능
print("첫 번째는 {0}이고 두 번째는 {1}이며 마지막은 {2}입니다.".format(문자, 3, "추가문자"))
# 첫 번째는 문자이고 두 번째는 3이며 마지막은 추가문자입니다.
%d%% > d% 출력 : %를 사용할 때는 %% 두 번 작성
728x90