Python

    소수 알고리즘

    소수 알고리즘

    기본 알고리즘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을 누적한다.이렇게 반복하여 소수의 수를 이용하여 소수를 판별하여 시간복잡도를 줄..

    자료구조 - 2장 기본 자료구조와 배열

    *파이썬의 특징 파이썬에서는 인수 전달은 실제 인수인 객체에 대한 참조를 값으로 전달하여 매개변수에 대입되는 방식 call by value , call by referernce가 아니다. 파이썬은 call by object reference 이다. 즉 파이썬의 변수는 값을 갖지않고 객체를 참조하는 방식이다. 뮤터블 : 값을 변경할 수 있음 - 리스트,딕셔너리, 집합 함수 안에서 매개변수의 값을 변경하면 객체 자체를 업데이트 합니다. 따라서 매개변수의 값을 변경하면 호출하는 쪽의 실제 인수는 값이 변경됨 이뮤터블 : 값을 변경할 수 없음 - 숫자, 문자열, 튜플 함수 안에서 매개변수의 값을 변경하면 다른 객체를 생성하고 그 객체에 대한 참조로 업데이트 됩니다. 따라서 매개변수의 값을 변경해도 호출하는 쪽의..

    자료구조 - 1장 알고리즘 기초

    1장 알고리즘 기초 a if 식 else c - 식이 참이면 a 거짓이면 c 반환 f'{ } { }' n*(n+1)//2 -1부터 n 까지 정수 합 (가우스 덧셈 두 값 교환하기 (튜플) - a,b=b,a 무시하고 싶은 값 - _(언더스코어) for-else문 : else문 무조건 출력 하지만 for에서 break 만나 종료됐으면 출력되지 않는다. 드모르간 -부정 자리수 분리하기 -f'{ :?}' ex) 구구단에서 가지런히 출력 변수는 객체를 참조하는 객체에 연결된 이름에 불과 복사하는 개념이 아니다. (전역이든 지역이든 숫자든 주소는 같다)

    기본 수학 practice 04_ ACM 호텔

    기본 수학 practice 04_ ACM 호텔

    백준 10250번 https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 1. 문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 ..

    기본 수학 practice 04_ 달팽이는 올라가고 싶다.

    백준 2869번 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 1. 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 2. 내가 작성한 알고리즘 a,b,v=map(int,input().split()) if (v-b)%(a-b)==0: print(..