Python/참고 알고리즘

    각 자리수 분리 알고리즘

    재귀함수를 사용하여 문자 분리 n=12345 arr=[] def s(n): while n!=0: arr.append(n%10) return s(n//10) s(n) arr.reverse() print(arr) n%10을 통해 첫 째 자리수를 구한다. 이후 n//10 을 통해 첫 째자리수를 지운다. 이렇게 n=0일때까지 반복한다. 그리하면 arr배열에 [ 5, 4, 3, 2, 1] 이 저장된다. 이 배열을 arr.reverse()를 통해 역순으로 바꾼다. list를 이용하여 문자 분리 n=12345 b=list(map(int,str(n))) print(b)

    소수 알고리즘

    소수 알고리즘

    기본 알고리즘count=78022 가장 기본적인 소수 판별 알고리즘이다. 무식하게 2부터 i까지 반복하여 소수를 판별한다.시간복잡도가 매우 크다. n=1000count=0for i in range(2,1001): for j in range(2,i): count+=1 if i%j==0: break else: print(i)print(count) 배열을 사용한 알고리즘count = 14622배열을 선언, 2는 소수이므로 prime[0]에 2를 저장하고 ptr을 1증가시킨다.4이상의 짝수는 소수가 아니므로 2를 3부터 2를 증가시켜 반복한다.ptr의 수만큼 반복한다. ptr은 1로 else로 넘어가 prime[1]에 3을 누적한다.이렇게 반복하여 소수의 수를 이용하여 소수를 판별하여 시간복잡도를 줄..