Python 8

🔥 [데이터 파이프라인 구축 프로젝트] 4. 기존 파이프라인 수정하기

현재 설계된 데이터 파이프라인은 특정 날짜의 데이터를 저장하는 구조이다. 하지만, 데이터 분석과 시각화를 진행하기 위해선, 현재 방식으로는 충분한 데이터를 확보하기 어렵다. 데이터 파이프라인 설계를 처음 시도하다 보니, "일단 해보자"는 마음으로 진행했지만, 이를 통해 설계상의 한계를 명확히 느낄 수 있었다. 특히, 초기 설계의 중요성을 크게 느꼈다. 데이터 파이프라인의 설계는 목적에 따라 매우 달라지며, 명확한 목표 설정 없이 진행하면 원하는 결과를 얻기 어려울  수 있다는 것을 배웠습니다. 따라서 이번에는 데이터 분석 목표를 명확히 설정한 후, 데이터 파이프라인을 재구축할 계획이다. 충분한 데이터를 수집하고 저장할 수 있는 구조를 설계함으로써, 이후의 분석과 시각화까지 진행할 예정이다.  1. 데이..

💻 [백준-2667] python3 단지 번호 붙이기

문제과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오.입력첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다.출력첫 번째 줄에는 총 단지수를 출력하시오. 그리고 각 단지내 집..

알고리즘 2024.12.02

💻 [프로그래머스] Python3 코딩테스트 고득점 Kit - 스택/큐

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 같은 숫자는 싫어처음 작성한 코드에서는 오류났다.ex. len(arr)은 7인 경우, arr[i+1]은 i = 6일 때, arr[7]에 접근하려고 하기 때문에 IndexError 발생 def solution(arr): answer = [] for i in range(len(arr)): if arr[i] != arr[i+1]: answer.append(arr[i]) return answer  아래와 같이 코드를 수정했다. def solution(arr): answer = [] for i in r..

알고리즘 2024.11.20

[자료구조] Python - 큐(Queue)

1. 선입선출(FIFO: First-In First-Out)가장 먼저 들어온 데이터가 가장 먼저 나가는 구조로 이루어져 있다. 한 쪽 끝에서는 자료의 삽입 연산만 가능하고 반대쪽 끝에서는 삭제만 가능한 구조로서 선입선출의 특징을 가진다.  위의 사진과 같이 앞(front)에서는 삭제만 일어나고, 뒤(rear)에서는 삽입만 일어난다.실생활의 예시로는 은행 대기 줄, 에스컬레이터, 작업 큐, 프린터 인쇄 처리 방식 등이 있다. 2. 큐의 연산enqueue(e): 큐의 가장 뒤에 데이터를 삽입dequeue(): 큐의 가장 앞에 데이터를 제거isEmpty(): 큐가 비어 있는 경우 True를 반환, 아니면 False를 반환isFull(): 현재 큐가 가득 차 있는 경우 True를 반환, 아니면 False를 반환..

Python 2024.11.19

[자료구조] Python - 스택(Stack)

1. 후입선출(LIFO: Last-In First-Out)가장 나중에 들어온 데이터가 가장 먼저 나가는 구조로 이루어져 있다.  2. 스택의 구조 Bottom : 가장 밑에 있는 데이터 또는 인덱스Top : 가장 위에 있는 데이터 또는 인덱스Capacity : 스택에 담을 수 있는 데이터의 총 용량Size : 현재 스택에 담겨져있는 데이터의 개수3. 스택의 연산push(e): 새로운 요소 e를 스택의 맨 위에 추가pop(): 스택의 맨 위에 있는 요소를 꺼내서 반환isEmpty(): 스택이 비어 있으면 True를, 아니면 False를 반환isFull(): 스택이 가득 차 있으면 True를, 아니면 False를 반환peek(): 스택의 맨 위에 있는 항목을 삭제하지 않고 반환 size(): 스택에 들어있는..

Python 2024.11.18

[이코테 2021 강의] 코딩테스트 및 파이썬 문법 부수기

강의를 참고하여 글을 작성했습니다 !  1. 알고리즘 성능 평가💡복잡도(Complexity)복잡도는 알고리즘의 성능을 나타내는 척도동일한 기능을 수행하는 알고리즘이 있을 때 복잡도가 낮을 수록 좋은 알고리즘 !시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 💡빅오 표기법(Big-O Notation)가장 빠르게 증가하는 항만을 고려하는 표기법시간 복잡도에서 최악의 경우를 계산하는 방식  시간 복잡도 그래프 N은 입력되는 데이터를 의미O(1) 상수 시간(Constant)입력 데이터의 크기에 상관없이 언제나 일정한 시간이 걸리는 알고리즘. 데이터가 얼마나 증가하든 성능에 영향을 거의 미치지 않음O(logn) 로그 ..

Python 2024.11.14

💻 [프로그래머스] Python3 Lv.2 최댓값과 최솟값

문제 링크:  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 풀이 과정1. 문자열을 공백을 기준으로 분리하여 리스트 형식으로 저장 s.split()2. 리스트 원소들은 문자 형태로 저장되어 있으므로 정수형으로 저장 ..

Python 2024.11.12

💻 [프로그래머스] Python3 Lv.1 코딩테스트 모음

코딩테스트 통과를 위해선 프로그래머스, 백준을 꾸준히 풀어야 하는데,, 일단 ! 이전에 풀어봤었던 프로그래머스 파이썬 레벨1을 일단 정리해서 올려본다. 까먹은 파이썬 기본 문법들이나 기억해야하는 것들을 기록해서 올리려고 한다. 계속해서 수정하고 추가해나갈 예정이다. 얼른 레벨1 다 풀어보고 레벨 2로 넘어가쟝 .. !  1. 나머지가 1이 되는 수 찾기 def solution(n): for num in range(1,n): if n % num == 1: return numrange() 함수 : 일정 범위의 연속된 정수를 생성하는 데 사용, 리스트나 튜플을 반환하지 않고 range 객체를 반환range(stop): 0부터 stop-1까지의 숫자를 생성range(star..

Python 2024.11.10