배진오
@baealex
창작을 좋아하는 개발자입니다.
2021년 04월 28일 · 13분 분량
회사의 랜딩 홈페이지 제작 중, 한 글자씩 나타나는 애니메이션을 구현하려고 했으나 음소 단위로 변경되어야 했다. 이를 위해 자바스크립트 오픈소스 라이브러리를 찾아 사용하였고, 해당 라이브러리를 사용하는 코드를 발견하여 이를 이해하고 활용하였다. 코드는 글자를 분리하는 함수와 분리된 글자를 병합하는 함수로 구성되어 있으며, 초성, 중성, 종성 등의 인덱스를 계산하여 정확한 값을 반환하도록 구현되어 있다. 이후 초성과 종성이 없는 경우를 처리하는 조건문을 추가하여 정확한 결과를 얻을 수 있었다.
2021년 01월 18일 · 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] < …
2020년 03월 04일 · 5분 분량
최근 사고력의 향상을 위해서 꾸준하게 알고리즘 문제를 풀어보고 있다. 당연 필자가 가장 자신있는 언어라고 생각하는 파이썬을 응용하고 있는데 시간초과가 생각보다 많이 발생했다. O(1)로 접근할 수 있는 요소를 O(n)으로 접근하는 등 기본기의 부족으로 인함으로 보였다. 그리하여 파이썬의 각 자료형의 연산에 대한 복잡도를 어지간하면 숙지해 놓으려고 한다. 출처 : https://www.ics.uci.edu/~pattis/ICS-33/lectures/complexitypython.txt 리스트자료형 리스트의 …
2019년 10월 31일 · 5분 분량
달력 알고리즘 심플한 달력 프로그램을 만드려고 고민하는 도중, 최소한 달력을 자동으로 출력해서 토요일과 일요일은 다른색으로 표시하는 기능을 만들어 보려고했다. 하지만 딱히 달력이라는 개념에 대해서 생각하며 살아온 건 아니었기 때문에 기능을 구현하다가 막히게 되었다. 처음에는 시스템의 요일과 해당 일(3월 2일 금)을 가져와서 1일의 요일을 찾아가는 방식을 사용하려고 했지만 이미 만들어진 기능으로 …
2019년 03월 10일 · 19분 분량
유전 알고리즘에 대한 이론적인 내용과 간단한 코드 구현 방법을 소개하며, 0에서 9까지의 유전자를 가진 염색체를 생성하고 1을 우성 유전자로 평가하여 진화하는 과정을 다룬다. 적합도 평가, 세대 교차 및 돌연변이, 다음 세대 적합도 평가 등의 알고리즘 흐름을 설명하며, 코드 작성 시 파이썬의 얇은 복사와 깊은 복사의 차이점에 대한 이슈도 다룬다.