본문 바로가기

Python15

스택과 큐 스택삽입과 삭제 연산이 LIFO로 이뤄지는 자료구조. 삽입과 삭제가 한 쪽에서만 일어나는 특징.새 값이 스택에 들어가면 top이 새 값을 가리킨다. 값을 빼낼 땐 pop은 top이 가리키는 값을 스택에서 빼낸다. 결과적으로 가장 마지막에 넣었던 값이 나오게 된다.파이썬의 스택top : 삽입과 삭제가 일어나는 위치s.append(data) : top 위치에 새로운 데이터 삽입하는 연산s.pop() : top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산s[-1] : top 위치에 현재 데이터를 단순 확인.스택은 깊이 우선 탐색(DFS)과 백트래킹 종류의 코딩 테스트에 효과적이므로 반드시 알아두어야 한다.큐삽입과 삭제 연산이 FIFO로 이뤄지는 자료구조.먼저 들어온 데이터가 먼저 나간다. 삽입과 삭제가 .. 2026. 1. 29.
Do it! 알고리즘 코딩테스트 파이썬 (기초) 시간 복잡도 표기법 알아보기시간 복잡도 예제 코드 import randomfindNumber = random.randrange(1,101) # 1~100 사이 무작위값 생성for i in range(1,101): if i == findNumber: print(i) break빅-오 표기법(O(n))을 기준으로 수행 시간을 계산하는 것이 좋음. worst case를 염두에 둔다.시간 복잡도 활용하기예: 버블 정렬 선택할지 병합 정렬 선택할지 등. 제한된 시간 안에 괜찮은 시간 복잡도를 가진 정렬 방식을 택한다.시간 복잡도 도출 기준상수는 시간 복잡도 계산에서 제외한다.가장 많이 중첩된 반복문의 수행 횟수가 시간 복잡도의 기준이 된다.N = 100000cnt = 1for i in range(N): prin.. 2026. 1. 20.
점프 투 파이썬 복습하기 (6) 모듈모듈에 대해 알아보자.mod1.py에 이렇게 입력하고 나면, 다른 코드에서 이를 사용할 수 있다.import mod1이렇게 하면 mod1 파일에 있는 함수를 사용할 수 있다.만들어진 걸 불러와서 사용하는 개념이다.두 개 이상 갖고 오고 싶을 땐, import add, sub이렇게 콤마(,)로 연결 가능하다.만약에 mod1.py에 print(add(1,2)) 이 코드가 있다면이것만 실행해도 3이 나온다. 만약 이것을 안 하고 싶다면?if __name__=="__main__":이렇게 넣고 쓰면 된다.그러면 다른 파일에서 import mod1 해도 아무것도 안 나온다.__name__은 현재 mod1.py에서 __main__으로 나온다.그러나 아까 다른 파일에서 import mod1만 코드로 작성하고 실행할.. 2025. 1. 28.
점프 투 파이썬 복습하기 (6) 클래스: 설계도 역할계산기 역할을 하는 함수를 만들어서 사용하고 싶을 때, 계산기가 여러 개 필요할 경우 그때마다 계속해서 다른 함수를 만들어주어야 한다. 이런 불편함을 해소하기 위해 클래스를 사용하면 효율성을 높일 수 있다.클래스에 대해 본격적으로 알아보자. 파이썬만의 독특한 특이점은 객체 자신을 가리키는 self가 있단 것이다. 다른 언어에는 없는 특별점이다. 예시.생성자 개념. 제일 먼저 실행되는 것으로, def __init__(self, first, second): 로 정의해준다. 그러면 클래스로 객체를 생성할 때 생성자의 인자 구조대로 코드를 짜야 오류 없이 나타날 수 있다. 다음은 상속이다. 위에 있는 FourCal 클래스를 냅두고 (접은 상태) 새로운 클래스를 만들 것이다. 상속할 클래스를 .. 2025. 1. 14.
점프 투 파이썬 복습하기 (5) append와 pop의 차이. return이 있냐 없냐에 따라 print했을 때 결과값이 다른 걸 알 수 있다.함수를 간략하게 만들고 싶다면, lambda 예약어를 사용할 수 있다. 장점은, 한 줄로 만들 수 있는 코드이며 함수명을 따로 만들지 않아도 사용할 수 있다는 점이다.사용자 입력 함수는 input()이다. 숫자를 입력해도 문자열로 취급한다.띄어쓰기를 하고 싶으면 end=' ' 를 사용해야 한다.파일 생성하기. 경로 없이 그냥 파일이름을 쓰면 현재 python을 실행하고 있는 경로에 파일이 생성된다. 모드도 정할 수 있고, 파일을 정상적으로 만들기 위해 close() 함수를 꼭 붙여준다.상대경로나 절대경로로도 파일을 저장할 수 있다. C 드라이브에 doit 폴더를 만든 후, 그 폴더 안에 텍스트파.. 2025. 1. 12.
점프 투 파이썬 복습하기 (4) 다음 단원은 함수이다. definition. 정의하는 뜻으로 함수를 만들 때 def 함수명(인자값): 이렇게 하면 함수를 만들 수 있다.여러가지 방식으로 함수를 만드는 모습이다. 인자값의 유무, return 값의 유무로. 다른 언어와 비슷하나 훨씬 간단한 모습을 볼 수 있다. 신기한 점은, print로 함수를 출력하려고 할 때, return값이 없으면 None을 출력한다는 점이다. 다른 언어에선 오류로 나타나는 것이 파이썬에선 오류가 아니니 신기하다. 또한, 인자값의 위치가 다르더라도 그 안에서 지정된 a, b의 위치를 바꾸든 바꾸지 않든 원하는 결과를 만들 수 있다는 점도 특이한 점이다. 파이썬의 특이한 점. 인자값의 개수를 정해두지 않아도 사용이 가능하다. 별표(*)를 사용할 경우, 여러 개를 입력받.. 2025. 1. 11.