파이썬 알고리즘/파이썬 알고리즘(사고력기르기)

    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)​

    6. 자릿수의 합

    import sys sys.stdin=open("input.txt", "r") N = int(input()) a=list(map(int, input().split())) def digit_sum(n): sum =0 while n>0: sum =sum + n%10 n = n//10 return sum def ditgit_sum2(n): sum =0 for i in str(n): #변수 i는 숫자n에서 문자열로 변환된 n에 대해여 한글자씩 접근한다. sum =sum +int(i) #한글자를 숫자로 변환해서 더해준다. return sum max = -2147000000 for x in a: #변수 x는 리스트의 각 요소에 차례대로 접근한다. 접근한다. total = digit_sum(x) #total은 각 자..