user
연결 리스트 : 초보자도 파이썬으로 이해하는 자료구조
기본적으로 “연결 리스트”는 요소가 노드에 저장되는 선형 데이터 구조입니다. 배열과 달리 연결된 목록에는 연속적인 메모리 공간이 필요하지 않습니다. 대신, 각 요소(노드)에는 데이터와 시퀀스의 다음 노드에 대한 참조(링크 또는 포인터)가 포함됩니다. 노드 연결 리스트는 “데이터 + 포인터”를 포함하는 컨테이너인 노드로 구성되어 있습니다. 데이터: 정수, 문자 또는 기타 데이터 유형과 같이 저장하려는 실제 정보입니다. 다음 포인터: 시퀀스의 … Read more
정적 배열, 동적 배열 : 초보자도 파이썬으로 이해하는 자료구조
코딩 여정을 시작할 때 자료구조의 기본 사항을 이해하는 것이 중요합니다. 자료 구조란 데이터 구조 + 연산 을 의미합니다. 이번에는 “배열“에 대해 공부한 내용을 정리해보았습니다. 배열에는 배열의 크기를 미리 정하는지 여부에 따라 정적 배열과 동적 배열로 나뉩니다. 정적 배열 Static Arrays 정적 배열이란? 정적 배열은 각 상자에 고유 번호가 붙은 일련의 상자로 생각하면 됩니다. 각 상자에는 … Read more
시간 복잡도, 공간 복잡도 요약 정리
시간 복잡도와 공간 복잡도에 대한 공부한 내용을 정리해 보았습니다. 시간 복잡도 시간 복잡도는 입력 크기가 증가함에 따라 알고리즘의 실행 시간이 어떻게 증가하는지를 측정한 것입니다. Big-O 표기법은 최악의 시나리오에서 알고리즘의 시간 복잡도의 상한을 표현하는 방법입니다. 이는 특정 하드웨어, 상수 요소 또는 하위 항의 세부 사항에 얽매이지 않고 알고리즘의 효율성을 분석하는 데 도움이 됩니다. Big-O는 다음과 같이 … Read more
Git merge : 프로젝트의 변경 사항 통합 (3-way / fast-forward)
“Git merge” 명령어는 브랜치를 병합하는 명령어 입니다. 브랜치 병합은 두 개 이상의 브랜치를 하나로 합치는 작업입니다. 주로 기능 개발이나 버그 수정을 별도 브랜치에서 진행한 후, 이를 메인 브랜치에 통합할 때 사용합니다. Git에서 브랜치를 병합하는 방법에는 대표적으로 3-Way merge 방법과 Fast-Forward merge 방법이 있습니다. 두 방식 모두 git merge 명령어로 동작하는데요. branch의 상태에 따라 어떤 방식으로 … Read more
Git branch : 프로젝트를 기능별로 개발하기
“Git branch”는 Git에서 프로젝트를 효율적으로 관리하기 위한 핵심 개념입니다. 이 작업 공간은 개발 저장소를 어지럽히지 않고 병렬적으로 개발을 수행할 수 있도록 도와줍니다. 브랜치가 정확히 무엇이며, 어떻게 생성하고 전환하는지 정리해보았습니다. Git branch 란? Git branch는 Git의 가장 기본적인 작업 공간 단위입니다. 프로젝트를 여러 개발자가 동시에 작업할 수 있도록 해주는 것이 목적입니다. 각 브랜치는 독립적으로 변경 사항을 … Read more
스택 자료구조 : 스택을 활용하여 알고리즘 풀기
이번 포스트에서는 “스택 자료구조”를 정리했습니다. 자료구조란 “구조+연산” 이기 때문에 이러한 특징을 살펴보고, 이를 이용한 알고리즘 문제를 풀어보았습니다. 스택 구조 스택은 데이터를 한쪽으로만 넣을 수 있으며, 중간에 있는 데이터를 삭제할 수 없습니다. 가장 큰 특징은 후입선출 (LIFO: Last-In-First-Out) 형식의 선형 자료구조입니다. 후입선출 (LIFO): 스택 vs. 큐 vs. 리스트: 스택 자료구조 연산 스택(stack) 데이터 구조에 필요한 기본 연산들 스택 … Read more
파이썬 타입 어노테이션 : 데이터 타입의 힌트 표기
“파이썬 타입 어노테이션“은 변수, 함수 매개변수, 함수 반환 값 등에 대한 타입 정보를 코드에 명시적으로 추가하는 기능입니다. 이는 코드의 가독성을 높이고, 협업 시 코드의 이해와 유지보수를 용이하게 만들어줍니다. 타입 어노테이션은 주로 변수 뒤에 콜론(:)을 사용하여 타입을 명시합니다. 함수의 매개변수에 대해서도 마찬가지 방식으로 사용됩니다. 반환값만 -> 를 사용하여 명시합니다. 기본 사용법은 아래와 같습니다. 기본 사용법 파이썬 … Read more
파이썬 문자열 함수 : f-string, count(), find(), replace(), join(), index()
파이썬의 기초 문법 중 하나인 문자열 함수 !! 저는 파이썬 문자열 함수는 약 4년 전에 파이썬 처음 공부할 때 빼고는 본 적이 없습니다. 그런데 알고리즘 문제를 풀다 보니 다시 한 번 정리하면 좋을 것 같아서 몇 가지 정리해보았습니다. f-string : 파이썬 문자열 포맷팅 문자열 안에서 변수 값을 간편하게 삽입할 수 있습니다. f-string은 문자열 앞에 f를 … Read more
백준에서 요구하는 input 작성 법
프로그래머스 문제를 풀다가 백준 문제를 보게되면 “???? 뭐지? 반환 값으로 값 받는건가?”, “input은 인자로 받는 건가?” 헷갈립니다. “백준에서 요구하는 input” 을 한 번 검색하고 나서야 어느 정도 힌트를 얻을 수 있었습니다. 이번 포스트에서는 백준에서 요구하는 input을 어떻게 코드로 작성하는지 정리해보았습니다. 백준에서 요구하는 input을 작성하기 위한 기본 개념 map 함수 map 함수는 주어진 함수를 iterable의 각 … Read more