Page 1¶
eval()¶
- 메소드에 전달된 표현식을 코드로 실행
- 사용자가 값을 입력하도록 허용하면,
os.system('rm -rf *)
을 입력할지도 모릅니다
최대공약수 Greatest Common Divisor - 유클리드 호제법¶
- 소인수분해 후 겹치는 소수끼리 곱 (차수 빼고)
- 두 양의 정수 a,b(a>b)에 대하여
a = bq + r (0≤r<b)
이라 하면 a,b의 최대공약수는 b,r의 최대공약수와 같다.
즉,gcd(a,b) = gcd(b,r)
이고, r=0이라면 a,b의 최대 공약수는 b가 된다
최소공배수 Least Common Multiple¶
- 소인수분해 후 소수끼리 곱 (차수까지)
- 공식 $$ lcm(a,b) 최소공배수 = |ab|/gcd(a,b)최대공약수 $$
pop() vs del()¶
-
- pop()
- 리스트의 마지막 요소를 삭제하고, 해당 값을 반환하는 Method
리스트의 길이가 짧아지고, 메모리에서 이전 마지막 요소의 메모리도 해제된다
-
- del()
- 원본 리스트에서 해당 요소가 완전히 삭제되어 메모리에서도 해제되지만, 원본 리스트의크기는 줄어들지 않는다
-> 만약, 리스트가 아주 크다면 del
이 더 효율적일 수 있다. pop()은 리스트의 길이가 감소하기에 연속으로 호출할 시 리스트의 크기를 조절하기 위한 메모리 재할당이 자주 발생할 수 있다.
pop을 사용하면 리스트의 크기가 줄어들면서 메모리 효율이 개선될 수 있음도 명심
-> 만약, 삭제하려는 요소의 위치가 항상 리스트의 끝이라면 pop()
특정 위치의 요소를 삭제한다면 del
-> 삭제된 요소의 반환이 필요하다면 pop
Quote
- namuwiki
- openai