클래스 3

[Algorithm] 백준 10845번: 큐 | 연결 리스트와 큐를 클래스로 구현

문제 출처: https://www.acmicpc.net/problem/10845 1. 결과 메모리 29200KB, 시간 80ms 2. 풀이 문제에서 제시한 연산 6개를 수행할 수 있는 기본적인 자료구조 큐를 구현해보는 문제였다. 큐는 FIFO(First In First Out), 선입선출의 특징을 갖는 자료구조로써, 말 그대로 먼저 들어온 자료가 먼저 출력되는 형태이다. 현실에서는 선착순, 은행 대기줄 등의 상황을 예시로 들 수 있다. 파이썬에서 제공하는 자료 타입인 리스트(list, 자료구조인 리스트와는 다른 것)로도 구현할 수 있는데, 기본적으로 파이썬의 리스트 타입은 자료구조 중 '배열'이고, 그중에서도 기본적으로는 스택을 구현한 형태를 갖는다. append를 하면 가장 뒤에 쌓이고, pop을 하면..

[Algorithm] 백준 10773번: 제로 | 클래스로 스택 구현

문제 출처: https://www.acmicpc.net/problem/10773 1. 결과 메모리 29980KB, 시간 4908ms 2. 풀이 이 문제는 솔직히 전혀 어려웠거나 어떤 이슈가 있는 것이 아니고, 직접 스택이라는 추상적 자료형을 클래스로써 구현한 코드를 담고 있기 때문에 남긴다. 파이썬의 리스트를 이용해서 구현해서 충분히 쉽게 풀이가 가능한 문제이다. import sys class Stack: def __init__(self): self.stack = [] def push(self, x): self.stack.append(x) def rmpop(self): if self.stack: self.stack = self.stack[:-1] def pop(self): if self.stack: re..

[Python] 간단하게 정리한 클래스와 상속

프로그래밍과 언어를 배우고 그 안으로 들어가다 보면 '객체 지향', '클래스' 등의 단어를 접하게 된다. 객체 지향은 말 그대로 여러 요소와 데이터 등을 객체로써 취급하고 구분하고 사용하는 것을 지향한다는 의미이다. 내가 이해한 바로는 쉽게 말해 코드 속 여러 요소들을 명확한 레고 블록으로 만들고, 각각의 블록을 잘 쌓아서 견고하게 코드를 완성해나가는 것이다. 그리고 레고 블록을 선명하게 구분되고, 안정적인 각진 모습으로 구현하는 과정 속엔 클래스가 주요하다. 1. 클래스 클래스의 구성 요소와 관련 주요 개념을 정리해보면 다음과 같다. 1) 클래스: 어떤 데이터가 있는지, 어떤 조작을 할 수 있는지, 어떤 제약 조건들이 있는지 등을 명시한 추상적인 설계도 2) 인스턴스: 클래스로 만든 실제 예시. 클래스..