Algorithm

Algorithm

python 선택정렬, 삽입정렬, 퀵정렬

이것이 코딩테스트다 with 파이썬 참고자료 선택정렬 데이터가 무작위로 여러개 있을 때, 이 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정을 반복한다. array = [7,5,9,0,3,1,6,2,4,8] for i in range(len(array)): # 첫 번째 위치부터 작은 데이터 순으로 정렬시킨다 min_index = i for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index = j array[i], array[min_index] = array[min_index], array[i] print(array) 삽입정렬 특정한 데이터가 적절..

Algorithm/Boj

백준 1002 파이썬 터렛

두 원의 교점의 개수를 구하는 문제 코드 import math t = int(input()) for _ in range(t): x1,y1,r1,x2,y2,r2 = map(int,input().split()) distance = math.sqrt((x1-x2)**2 + (y1-y2)**2) if distance == 0 and r1 == r2 : print(-1) elif abs(r1-r2) < distance < r1+r2 : print(2) elif distance == r1+r2 or distance == abs(r1-r2) : print(1) else: print(0) import math math.sqrt() 는 제곱근을 구해주는 함수이다. abs()는 절대값을 구해주는 함수 (1) 위치의 개수 ..

Algorithm/Boj

백준 4948 파이썬 - '에라토스테네스 체'

코드 N = 2*123456+1 sosu =[True] *N for i in range(2,int(N**0.5)+1): if sosu[i]: for j in range(2*i,N,i): sosu[j] = False def check_prime(n): cnt = 0 for k in range(n+1, (n*2)+1): if sosu[k]: cnt += 1 print(cnt) while 1: n = int(input()) if n == 0 : break check_prime(n) N의 범위는 1

Algorithm/Boj

백준 2869 파이썬 / 달팽이는 올라가고 싶다

코드 a, b, v = map(int, input().split()) day = (v-b) / (a-b) print(int(day) if day == int(day) else int(day)+1) 하루동안 움직이는 거리는 a이고 밤이 되면 b만큼 미끌어진다. -> a만큼 더하고 b만큼 뺀다. 그런데 다음날 지나갈 때 -b를 한 채로 계산을 하게 되면 오류가 날 수 도 있다 ex) a,b,v =2,1,5 로 예로 들고 밤도 하루단위로 계산하게 되면 a-b=1 하루 1만큼씩 움직이기에 5일이 걸린다는 결과가 나오는데 아침이 되었을 때 움직이는 것까지 계산하면 4일 이면 v에 도달하게 된다. 그러므로 v = a*day - b*day + b 로 수식으로 표현할 수 있다. day값이 int(day)정수값과 같은 ..

kylo
'Algorithm' 카테고리의 글 목록 (3 Page)