파이썬

코딩테스트 스터디/이론

[이것이 코딩테스트다 with 파이썬] 3_구현(완전 탐색, 시뮬레이션)

구현 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정, 모든 범위의 코딩테스트 문제 유형을 포함하는 개념 Problem Thinking Solution 완전 탐색 모든 경우의 수를 주저 없이 다 계산하는 방법 시뮬레이션 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행하는 문제 구현 시 고려해야할 메모리 제약 사항 파이썬에서의 리스트 크기에 따른 메모리 사용량 데이터의 개수(리스트 길이) 메모리 사용량 1000 약 4KB 1,000,000 약 4MB 10,000,000 약 40MB 파이썬은 다른 언어에 비해서 구현상의 복잡함은 적은 편이지만 데이터 처리량이 많을 때는 메모리 제한을 고려해야한다. 리스트를 여러 개 선언하고, 그 중에서 크기가 1,000만 이상인 리스트가 있다면 메모리 용량 제한으로..

코딩테스트 스터디/이론

[이것이 코딩테스트다 with 파이썬] 1_복잡도

복잡도(complexcity) 알고리즘의 성능을 나타내는 척도 시간 복잡도(Time complexcity) : 특정한 크기의 입력에 대하여 알고리즘에 대하여 얼마나 오래 걸리는지 의미 공간 복잡도(Space complexcity) : 특정한 크기의 입력에 대하여 알고리즘이 얼마나 많은 메모리를 차지하는지 의미 보통 시간 복잡도와 공간 복잡도는 거래 관계(trade off)이다. 연산 횟수를 줄이는 대신 메모리를 더 소모하거나 더 많은 정보를 관리하면서 계산의 복잡도를 줄일 수 있다. 시간 복잡도(Time complexcity) 알고리즘 문제를 풀 때는 흔히 시간복잡도를 고려한다. 시간 복잡도를 표기할 때는 빅오(Big-O) 표기법을 사용한다. 빅오 표기법 간단 정의 : 빠르게 증가하는 항만 고려하는 표기..

데이터 분석 및 시각화/데이터 시각화

[Python] Matplotlib - 기초(style, 범례, label)

MatPlotlib이란 Matplotlib은 파이썬에서 자료를 차트(chart)나 플롯(plot, a graph showing the relation of two variables)으로 시각화 하는 패키지입니다. Matplotlib은 다음과 같은 정형화된 차트나 플롯 이외에도 저수준 API를 활용한 다양한 시각화 기능을 제공합니다. 라인 플롯(line plot) 스캐터 프롯(scatter plot) 컨투어 플롯(contour plot) 서피스 플롯(surface plot) 바 차트(bar chart) 히스토그램(histogram) 박스 플롯(box plot) matplotlib 및 matplotlib.pyplot 임포트하기 패키지에는 pyplot이라는 서브 패키지가 존재합니다. 이 pyplot 서브 패키..

코딩테스트 스터디

[백준] 큐(queue)/카드

https://www.acmicpc.net/problem/2164 리스트는 pop 사용 시 자료를 뒤로 밀면서, 메모리를 많이쓴다. 큐는 그대로 두기 때문에 효율적 -- 나중에 더 정확히 정리 import sys from collections import deque num = int(input()) list_ = [] for x in range(1, num + 1): list_.append(x) queue = deque(list_) while len(queue) > 1: queue.popleft() first_one = queue.popleft() queue.append(first_one) print(queue[0])

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(Numpy)

넘파이 배열 Numpy는 파이썬 내장 모듈이 아닙니다. 따라서 별도의 설치를 요구합니다. 하지만 아나콘다 환경 사용시 기본적으로 Numpy 패키지를 설치없이 사용할 수 있습니다. 숫자 데이터를 좀 더 쉽고 편리하게 다룰 수 있게 도와주는 패키지 숫자 데이터를 효과적으로 다룰 수 있기 때문에, 데이터 과학 및 데이터 분석에 많이 사용되는 파이썬 패키지 Numpy는 다차원 배열 자료구조 클래스인, ndarray 클래스를 지원하며, 벡터와 행렬을 사용하는 선형대수 계산에 주로 사용 import numpy as np 리스트가 아닌 넘파이 배열을 사용하는 이유 구조적으로 속도가 빠르고, 메모리를 더 적게 사용한다.(같은 종류의 데이터만 저장하기 때문에) Numpy Array VS Python List Numpy ..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(Class)

객체지향(Object Oriented) 프로그래밍 객체지향 프로그래밍은 복잡한 문제를 잘게 나누어 객체로 만들고, 객체를 조합해서 문제를 해결합니다. 현실세계의 복잡한 문제를 처리하는데 유용하며 기능을 개선하고 발전시킬 때도 해당 클래스만 수정하면 되므로, 큰 프로젝트의 유지보수에도 매우 효율적입니다. 객체가 가진 데이터를 클래스의 속성(Attribute)이라 부르고 객체가 갖는 기능을 메서드(Method)라고 부릅니다. 클래스(Class) 클래스는 사용자, 정의 객체를 만들기 위한 주형이라고 생각하면 됩니다. 클래스 정의는 보통 클래스의 인스턴스를 대상으로 연산하는 메서드 정의를 포함하고 있습니다. # 클래스명으로 주로 PascalCase(UpperCamelCase)를 씁니다. class ClassNa..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(전역변수, 지역변수, 람다(lambda))

변수의 범위(variable scope) - 전역 변수(global variable) 우리가 함수를 배우기 전까진 제일 바깥 영역인 전역 범위(global scope)에서 변수를 선언하고 활용했었습니다. 전역 범위에서 선언했기 때문에 그 변수를 스크립트 전체에서 접근 할 수 있었는데, 그 변수를 전역 변수(global variable)이라고 부릅니다. global_variable = "this is global world" print(f"global_variable in global_scope=> {global_variable}") print(hex(id(global_variable))) def local_world() print(f"global_variable in local_world=> {globa..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(함수, 문자열 메서드 join)

함수(function) 프로그래밍에서 함수(function)는 독립적으로 설계된 프로그램 코드의 집합입니다. 함수를 사용하면 반복적인 코드의 양을 줄여 유지보수성을 높여줍니다. ### 함수 정의부 def 함수명(인자, 인자,...): ## parameter : 인자 함수코드... return 반환값 ### 메인코드 x = 함수명(인수, 인수, ...) ## argument : 인수 print("결과값 :", x) 함수가 호출되면 함수정의부로 가서 함수 호출부의 인수 값을 함수 정의부 인자값에 순서대로 대입 함수 정의부 내부 코드를 순차적으로 실행 해당 함수에 return 값이 있는 경우, 함수 호출부를 return 값으로 치환 파이썬은 오버로딩(overloading) 불가 프로그래밍에서의 함수(funct..

데이터 분석 및 시각화/파이썬

[Python] 메모리에 객체를 저장하는 구조

리스트는 값을 변경, 삭제, 추가 할 수 있고 메모리를 많이 차지한다. 따라서 조금 특이한 구조가 발생하는데, 예시로 알아보자 prac_result4 = [str(x) for x in list(range(2,11))] + [x for x in 'JQKA'] print(prac_result4)해당 코드에서 prac_result4라는 변수를 만들었다. ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'] 이 리스트는 prac_result4라는 이..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(함수, 리스트 메서드, 리스트 Stack처럼 활용, unpakcing, map, if문 등)

함수 기초 # 함수 정의부 def 함수명(인자, 인자, ...): 함수코드 return 반환값 # 메인 코드 x = 함수명(인수, 인수, ..) print('결과값', x)함수가 호출되면 함수 정의부로 가서 함수 호출부의 인수 값을 함수 정의부 인자값에 순서대로 대입 후 함수 정의부 내부 코드를 순차적으로 실행합니다. 해당 함수에 return 값이 있는 경우, 함수 호출부를 return 값으로 치환합니다. 리스트 메서드 리스트를 Stack처럼 활용하기 Stack은 후입선출(Last in First Out) 구조, 마지막에 넣은걸 먼저 빼는 구조입니다. Stack에서 자료를 꺼낼 때 pop()으로만 꺼내어 Stack 자료구조처럼 활용하고 있습니다. stack = [3,4,5] stack.ap..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(지수표기법, 2진법, 개행문자, literal 등)

프로그래밍 기초(컴퓨터) 컴퓨터 전기적 신호가 있고 없고를 1과 0으로 구분하여 만들어낸 산물, 이진법을 이용하여 논리, 연산, 저장을 수행하는 전자기계 컴퓨터를 켜고 각자의 목적에 따라 프로그램을 실행한다 이 프로그램은 모두 코드로 이루어져있다 프로그램 동작 과정 파일은 저장 장치에 저장 저장장치에 보존된 파일을 실행하면 RAM(메모리)에 그 파일의 시퀀스에 따라 필요한 부분 복사 RAM에 복사된 파일을 CPU와 빠른 속도로 주고 받으며 연산을 시작하며 프로그램이 동작 프로그래밍 현실문제에 대해 해결책을 찾고 이를 설계하여 프로그래밍 언어로 구현하기까지의 필요한 모든 행위 소스코드(SORUCE CODE) 프로그래밍 언어로 작성한 텍스트 파일을 소스코드 프로그래밍 언어를 컴퓨터가 이해하는 방식 인터프리터..

우상욱
'파이썬' 태그의 글 목록 (2 Page)