#파이썬

15 posts

[버그 해결 과정] 다차원 리스트 리스트 복사

5분

문제 발생 파이썬에서 리스트 자료형은 대입 연산자가 단순 복사가 아닌 참조인 것을 깜빡했다. Pandas에서만 참조라고 생각하고 넘어갔는데, 아니였다. 문제 발생 위치 FAR_origin=FAR.copy() for i, value in enumerate(unique_num_count): for j in range(max): try: FAR[i][j]=(FAR[i][j] / value) * 100 FAR[i][j]=round(FAR[i][j], 2) except ZeroDivisionError: pass try 바로 …

파이썬으로 구현한 정렬

28분

버블 정렬(Bubble Sort) 인접한 원소를 비교하여 자리를 교환하는 방식이다. 처음부터 마지막까지 원소를 비교하여 마지막에는 가장 큰 또는 작은 원소가 배치된다. 이를 정렬이 끝날때까지 수행하며 시간 복잡도는 O(n^2)이며 구현이 압도적으로 간단하다. def bubble_sort(items: list): for i in range(len(items) - 1): for j in range((len(items) - 1) - i): if items[j] < …

파이썬 비동기 프로그래밍

파이썬 비동기 프로그래밍

21분

이 글은 파이썬과 자바스크립트에서의 비동기 처리와 sleep 함수의 효율성에 대한 내용을 다룬다. 자바스크립트에서는 이벤트 루프와 테스크 큐를 활용하여 비동기 처리를 지원하고, 파이썬에서는 asyncio 라이브러리를 통해 비동기 프로그래밍을 지원한다. 비동기 처리를 활용하여 동시성을 높이는 방법에 대해서도 다룬다.

파이썬 구글 시트 DB처럼 사용하기

파이썬 구글 시트 DB처럼 사용하기

4분

노션 도우미에서 익명 댓글 시스템을 구현하기 위해 구글 스프레드시트 API를 활용해 데이터를 안전하고 간편하게 보관하는 방법을 모색하고, gspread 라이브러리를 사용하여 원하는 키가 있는 행의 데이터를 가져오고, 새로운 행을 만드는 방법을 설명한다.

🎲 주사위 프로그램

🎲 주사위 프로그램

3분

문제 로직 컴퓨터와 내가 주사위 2개를 굴린다. 주사위는 랜덤값으로 처리해야한다. (주사위 값을 안다면 그건 주사위가 아니기 때문에) 컴퓨터 주사위 2개, 내 주사위 2개를 랜덤값으로 초기화해야한다. 주사위 눈금의 합이 큰 쪽이 이긴다. 컴퓨터 주사위와 내 주사위의 값을 각각 더하는 변수가 필요하다. if문으로 컴퓨터가 이겼는지 내가 이겼는지 조건처리 해주면 됨 두 눈금이 …

파이썬 자료형 연산자 시간복잡도

파이썬 자료형 연산자 시간복잡도

5분

최근 사고력의 향상을 위해서 꾸준하게 알고리즘 문제를 풀어보고 있다. 당연 필자가 가장 자신있는 언어라고 생각하는 파이썬을 응용하고 있는데 시간초과가 생각보다 많이 발생했다. O(1)로 접근할 수 있는 요소를 O(n)으로 접근하는 등 기본기의 부족으로 인함으로 보였다. 그리하여 파이썬의 각 자료형의 연산에 대한 복잡도를 어지간하면 숙지해 놓으려고 한다. 출처 : https://www.ics.uci.edu/~pattis/ICS-33/lectures/complexitypython.txt 리스트자료형 리스트의 …

RESTful API의 개념과 장고의 REST Framework

RESTful API의 개념과 장고의 REST Framework

8분

RESTful API와 프론트엔드 프레임워크의 도입으로 서비스형 블로그의 발전을 시도하고자 하였다. REST API의 개념과 Django REST Framework의 구현에 대해 학습하였으며, HTTP Method와 Content-type을 알아내고 적절한 응답을 하는 것을 DjangoRESTframework로 구현할 수 있다는 것을 알게 되었다. 프레임워크의 도입은 구현을 간단하게 만들어주며, 코드의 재사용성을 높이고 프론트엔드와 백엔드의 완전한 분업이 가능하다는 장점이 있다.

Pythonic이란 무엇인가?

Pythonic이란 무엇인가?

4분

Pythonic은 파이썬스러운 코드를 의미하며, 가독성을 높이기 위한 가이드라인인 PEP 8을 따르는 것이 중요하다. 코드 구문을 한 줄에 하나씩 작성하고, private 속성은 _(언더스코어)를 사용하여 표현하며, early return 방식을 사용하는 등의 규칙이 있다. 또한 lambda와 filter, map 활용, with open을 사용하는 등의 방식도 추천된다. PEP 8을 준수하는지 확인하기 위해 pep8을 사용할 수 있다.

게임의 강화비용을 추산해보자!(수정중)

12분

필자는 Neople에서 개발하고 Nexon에서 서비스를 하는 게임인 Dungeon & Fighter을 즐겨한다. 이 게임 내에서 상위 던젼이나 레이드를 가기 위해서는 최소 +11 의 무기가 필요하다. 그런데 길드원을 보면 +12를 가는데 3000만골드가 들었다는 사람이 있고 또 다른사람은 10억골드 이상을 사용한 사람도 있다. import random as rand import numpy as np print("강화기!!!!!") """ …

[3분꿀팁]Python 다차원 리스트

[3분꿀팁]Python 다차원 리스트

1분

파이썬으로 1차원 이상의 리스트를 만들다가 신기한 문제점에 봉착한 적이 있다. 필자는 그냥 생각 없이 이런 코드를 이용하여 5 X 2짜리 리스트를 만들려 했다. >>> Lists=[[0] * 2] * 5 >>> Lists 출력은 본인 생각대로 [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] 이 나왔다. 그 후 …

파이썬으로 구현한 자료구조 - 트리

파이썬으로 구현한 자료구조 - 트리

30분

트리는 계층형 구조를 가진 문제를 해결하기 위한 자료구조로, 리스트나 스택, 큐와는 달리 연결 자료구조로 구성된다. 이진트리, 스레드 이진트리, 이진 탐색 트리, AVL 트리, 히프 등 다양한 종류가 있으며, 각각의 순회 방법인 전위, 중위, 후위 순회를 구현할 수 있다. 스레드 이진트리에서는 후행자를 프로그램이 스스로 알 수 있도록 구현하는 것이 가능하다.

파이썬으로 구현한 자료구조 - 큐

파이썬으로 구현한 자료구조 - 큐

17분

큐(Queue) 은행에서는 먼저 기다린 손님을 우선으로 일을 처리해 줍니다. 이처럼 삽입 순서와 삭제 순서가 일치하도록 하는 자료구조를 큐라고 합니다. 앞서 익혔던 스택의 경우에는 늦게 들어온게 가장 먼저 나가는 방식인 LIFO 였으나 큐의 경우에는 스택과 다르게 선입선출, FIFO(First In First Out) 방식을 사용한다. 우리의 법치국가 사회에서 가장 많이 볼 수 있는 …

파이썬으로 구현한 자료구조 - 스택

파이썬으로 구현한 자료구조 - 스택

8분

스택은 후입선출 방식으로 데이터를 처리하는 자료 구조로, 삽입과 삭제를 push와 pop으로 표현한다. 이를 파이썬에서 구현할 때는 단순 연결 리스트를 활용할 수 있다. 스택은 괄호 검사 등 다양한 문제를 해결하는 데 유용하게 활용될 수 있다. 리스트를 스택처럼 활용할 수도 있다.

파이썬으로 구현한 자료구조 - 연결 리스트

파이썬으로 구현한 자료구조 - 연결 리스트

26분

파이썬으로 구현한 단순 연결 리스트입니다. 헤더 노드를 포함하여 노드 삽입, 삭제, 탐색 등의 기본적인 기능을 구현하였습니다. 연결 리스트를 구현하며 파이썬의 장점인 간단한 구문과 메모리 관리의 편의성을 느꼈습니다.

파이썬(Python) - 유전 알고리즘 기본

파이썬(Python) - 유전 알고리즘 기본

19분

유전 알고리즘에 대한 이론적인 내용과 간단한 코드 구현 방법을 소개하며, 0에서 9까지의 유전자를 가진 염색체를 생성하고 1을 우성 유전자로 평가하여 진화하는 과정을 다룬다. 적합도 평가, 세대 교차 및 돌연변이, 다음 세대 적합도 평가 등의 알고리즘 흐름을 설명하며, 코드 작성 시 파이썬의 얇은 복사와 깊은 복사의 차이점에 대한 이슈도 다룬다.