파이썬 알고리즘

    1. 회문 문자열 검사

    회문 문자열 검사 N개의 문자열 데이터를 입력받아 앞에서 읽을 때나 뒤에서 읽을 때나 같은 경우(회문 문자열) 이면 YES를 출력하고 회문 문자열이 아니면 NO를 출력하는 프로그램을 작성한다. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. ▣ 입력설명 첫 줄에 정수 N(1

    9. 주사위 게임

    import sys sys.stdin=open("input.txt", "rt") N = int(input()) res =0 for i in range(N): tmp = input().split() #tmp는 리스트임, tmp리스트의 각 요소는 String타입 tmp.sort() a, b, c =map(int, tmp) #tmp리스트의 요소는 a,b,c 에 들어감 (여기가 핵심임) if a==b and b == c: money = 10000+a*1000 elif a==b or b ==c: money = 1000 + (a*100) elif b == c: money = 1000 + (b*100) else: moeny = c*100 #오름차순 정렬이 되어 있으므로 가장 오른쪽에 있는 c의 값이 가장 크다. if..

    8. 뒤집은 소수→소수인지 판결하는 함수 def isPrime(x)★

    from ast import Pass import sys sys.stdin=open("input.txt", "r") def reverse(x): res =0 while x>0: t = x % 10 res = res *10 + t x = x//10 return res def isPrime(x): if x ==1: return False for i in range(2, x): #만약에 x가 2라면 for i in range(2,2)가 된다. for문은 아무일 안하고 그냥지나감 if x % i ==0: return False else: #else는 for문을 정상적으로 다 돌은 경우를 의미한다. return True number = int(input()) a=list(map(int, input().split(..

    7. 소수의 개수→ for j in range(i, n, i)★★

    핵심 : for (시작, 끝, step) import sys sys.stdin=open("input.txt", "r") N = int(input()) a=[0]*(N+1) cnt =0 # sum =0 for i in range(2, N+1): if a[i]==0: cnt = cnt +1 # sum = sum +i for j in range(i+i, N+1, i): #핵심 i+i를 i로 변경해도 상관없다. 왜냐하면, 이미 소수를 카운팅을 했으니까. a[j] = 1 print(cnt)​