AI/Codestates(75)
-
[자료구조와 알고리즘] DataStrucure Intermediate
검색과 재귀 ( Searching and Recursion ) ▶ 검색 ( Searching ) - 특정 노드를 추가하거나 삭제를 위해서는 검색이 우선되어야 함 - 다양한 알고리즘을 활용하는 경우, 최적 알고리즘 경로를 측정하는데 쓰임 - 검색하는 컬렉션이 무작위이고 정렬되지 않는 경우, 선형검색이 기본적인 검색방법 # 선형 검색 알고리즘 def linear_search(arr, target): for idx in range(len(arr)): if arr[idx] == target: return idx return -1 ▶ 재귀 ( Recursion ) - 재귀 호출은 스택의 개념이 적용되며, 함수의 내부는 스택처럼 관리됨 ( LIFO, 후입선출 ) - 하위 문제를 쉽게 해결할 수 있을 때 까지 문제를..
2022.06.09 -
[자료구조와 알고리즘] DataStructure Fundamenta
추상자료형 ( Abstract Data Type, ADT ) 이란? 연결리스트 ( Linked - List ) 이란? - 연결리스트는 말 그대로 리스트들을 "연결" 해줌 - 연결은 프로그래밍에서 참조의 기능으로 구현되고, 리스트의 길이를 별도로 지정해줄 필요없음 class Node: def __init__(self,value,next=None): self.value = value self.next = next class linked_list: def __init__(self, value): self.head = Node(value) def add_node(self, value): if self.head == None: self.head = Node(value) else: node = self.head w..
2022.06.08 -
[컴퓨터 공학 기본과 파이썬] DataStructure Essential
자료구조의 배경 - 프로그래밍이 생겨난 배경은 컴퓨터로 인간의 행동을 편하게 하기위한 작업 - 자료구조는 컴퓨터과학에 있어서 전체적인 관점의 기초공사 개념 - 자료구조의 시작은 파이썬이라는 프로그래밍언어와는 별개로, 실생활에서 발생하는 대용량의 다양한 데이터를 효율적으로 처리 ( 저장 ) 하기위해 자료구조라는 개념이 개발됨 자료구조의 다양한 활용 자료구조를 체계적으로 정립하기 위해 프로그래밍 언어별로 다양한 자료형이 생겨났고, 파이썬에서는 리스트와 튜플을 통해 자료구조의 기본인 배열을 구현 가능함 ▶ 배열이란? 컴퓨터과학에서 사용되는 기본적인 용어 배열의 기능은 각각의 변수를 하나의 변수에 여러 개의 인덱스로 묶는 것 파이썬에서는 배열을 리스트와 튜플로 구현하고 활용함 ▶ 파이썬의 리스트 자료구조의 기본..
2022.06.03 -
[컴퓨터 공학 기본과 파이썬] Python with OOP
OOP란? - OOP의 기본 전제는 기능 ( 함수, 변수 ) 재사용이 가능하도록 설계 및 프로그래밍 했는지! - 프로그래밍에서 사용되는 대부분의 개념은 최소비용으로 최대효율을 얻기위해 개발됨 ▶ OOP의 어려운 점 - OOP는 하나의 패러다임일 뿐이기 때문에 기존의 프로그래밍 패러다임들과 우열을 가릴 필요 없음 - OOP는 주관성이 높으므로, 보편적으로 활용되는 개념에 대해 배움 - OOP를 제대로 하는 법은 프로그래밍뿐만 아니라 다양한 도메인에서 재사용 가능한 클래스, 메소드 설계가 중요 ▶ OOP의 구성 ■ 캡슐화 내부 속성 ( 변수 ) 과 함수를 하나로 묶어서 클래스로 선언하는 일반적인 개념 ■ 상속과 포함 - 상속 : "개는 동물이다." 처럼 상위 클래스의 모든 기능 ( 함수, 변수 ) 을 재사용..
2022.06.03 -
[컴퓨터 공학 기본과 파이썬] Problem Solving
컴프리헨션 ( Comprehension ) - 한 줄로 파이썬 기능을 구현할 수 있는 기능 - 코드 간소화를 위해서 사용되고 직관적이면 속도도 빠름 - 컴프리헨션 내에서 여러 조건이 중첩되는 경우 가독성이 떨어짐 - 조건문에 따라 컴퓨터에 사용되는 메모리에 영향을 줄 수 있음 # 기본 반복문 사용 numbers = [1, 2, 3, 4] squares = [] for n in numbers: squares.append(n**2) # 컴프리헨션 사용 numbers = [1, 2, 3, 4] squares = [n**2 for n in numbers] # 기본 반복문과 조건문 사용 list_a = [1, 2, 3, 4] list_b = [2, 3, 4, 5] common_num = [] for a in li..
2022.05.31 -
[컴퓨터 공학 기본과 파이썬] Python Programming
정규표현식이란? ▶ Escape 문자 이스케이프 문자 이름 \n 줄 바꿈 \t 탭 \b 백스페이스 \\ 백슬래시 ( \ ) \' 작은 따옴표 ( ' ) \" 큰 따옴표 ( " ) ▶ Raw String - Escape 문자를 문자열 그대로 사용하고자 한다면 Raw String을 사용하면 됨 - 출력할 문자열 앞에 r을 붙여주면 됨 다양한 메소드의 활용 ▶ rjust(width, [fillchar]) 원하는 문자를 따로 지정하고, 다른 문자열로 앞 부분을 채워 줄 수 있음 #"002" print("2".rjust(3,"0")) #"50000" print("50000".rjust(5,"0")) #"00123" print("123".rjust(5,"0")) #"aa123" print("123".rjust(5,..
2022.05.30