[데이터 분석] 기온 변화 그래프 그리기 / 기온 데이터 다양하게 시각화하기
·
데이터 분석
- 데이터 리스트에 저장하기 import csv f = open('jinju.csv', 'r', encoding='cp949') data = csv.reader(f) header = next(data) result=[] for row in data: if row[-1]!='': result.append(float(row[-1])) print(result) [3.0, 7.9, 8.5, 7.0, 6.3, 9.3, 11.9, 14.6, 14.9, ...] - 데이터 시각화하기 import csv import matplotlib.pyplot as plt f = open('jinju.csv', 'r', encoding='cp949') data = csv.reader(f) header = next(data) res..
Programmers / 2단계 / 짝지어 제거하기 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 짝지어 제거하기 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 나의 풀..
Programmers / 2단계 / N개의 최소공배수 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - N개의 최소공배수 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 제한사항 나의 풀이 . 모범 답안 from math import gcd # 최대공약수를 구하는 gcd() import def solution(arr): answer = arr[0] # answer을 arr[0]으로 초기화 for num in arr: # 반복문을 처음부터 끝까지 돈다. #1. (arr[0],arr[1])의 최소공배수를 구한 후 answer에 저장 #2. (#1에서 구한 최소공배수, arr[2])의 최소공배수를 구한 후 answer에 저장 #3. 모든 배열을 돌면서 최소공배수를 구하고, 저장하고 하는 방식을 진행 answer = answer*num // gcd(answer, num) r..
Programmers / 2단계 / 이진 변환 반복하기 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 이진 변환 반복하기 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 제한사항 나의 풀이 def solution(s): count=0 count_zero=0 while s!="1": count+=1 count_zero+=s.count('0') s=s.replace('0','') c=len(s) s=bin(c)[2:] return [count, count_zero] 모범 답안
[데이터 분석] 데이터 시각화 - 그래프 그리기, 옵션 추가하기
·
데이터 분석
matplotlib 라이브러리 - 파이썬으로 데이터를 시각화하는 데는 matplotlib 라이브러리를 가장 많이 사용함 - 파이썬에서 2D 형태의 그래프, 이미지 등을 그릴 때 사용하며, 과학 컴퓨팅 연구 분야, 인공지능 연구 분야에서 활용됨 라이브러리 불러오기 import matplotlib.pyplot as plt matplotlib 라이브러리에 속한 pyplot 모듈 불러오기 기본 그래프 그리기 import matplotlib.pyplot as plt plt.plot([10, 20, 30, 40]) plt.show() - plot()함수 : 직선 또는 꺾은선 형태의 그래프를 그릴 때 사용할 수 있는 명령어 plot() 함수에 입력된 리스트의 값이 y축 값으로 입력되며, x축의 값은 자동으로 0부터 ..
[데이터 분석] 데이터 분석 기초 개념
·
데이터 분석
- csv.reader(): CSV 파일에서 데이터를 읽어오는 함수 - csv.writer(): CSV 파일에 데이터를 저장하는 함수 전체 데이터 출력 import csv #csv 모듈을 불러옴 f = open('jinju.csv', 'r', encoding='cp949') #csv파일을 open()함수로 열어서 f(파일 핸들러라고도 부름)에 저장 data = csv.reader(f, delimiter=',') #f를 reader()함수에 넣어 data라는 CSV reader 객체를 생성 print(data) f.close() #2에서 연 파일을 닫음 · encoding='cp949' : cp949라는 형식 (windows 한글 인코딩 방식)으로 읽어오라는 의미 · csv.reader(f, delimit..
DFS/BFS 탐색 알고리즘
·
자료구조 | 알고리즘
그래프 그래프는 노드(정점)와 간선으로 표현됨. 그래프 탐색: 하나의 노드를 시작으로 다수의 노드를 방문하는 것 그래프의 표현 방식 1. 인접 행렬 - 2차원 배열로 그래프의 연결 관계를 표현하는 방식 - 2차월 배열에 각 노드가 연결된 형태를 기록하는 방식 - 파이썬에서는 2차원 리스트로 구현 가능 - 연결 되어 있지 않은 노드끼리는 무한의 비용이라고 작성 인접 행렬 방식 예제 INF = 999999999 #무한의 비용 선언 #2차원 리스트를 이용해 인접 행렬 표현 graph = [ [0, 7, 5], [7, 0, INF], [5, INF, 0] ] print(graph) #[[0, 7, 5], [7, 0, 999999999], [5, 999999999, 0]] 2. 인접 리스트 - 리스트로 그래프의 ..
[자료구조] 리스트(List) vs 배열(Array) 특징과 차이
·
자료구조 | 알고리즘
배열(Array) 고정된 크기를 갖는 같은 자료형의 원소들이 연속적인(논리적 저장 순서와 물리적 저장 순서가 일치) 형태로 구성된 자료구조 인덱스에 따라 값을 유지하므로 원소가 삭제되어도 빈자리가 남게되어 메모리가 낭비된다. 처음 크기를 10으로 지정한다면 5개의 데이터만 저장하더라도 실제 배열의 크기는 10이다. 데이터 갯수가 확실하게 정해져 있고, 접근이 빈번한 경우 배열이 효율적이다. cache hit 가능성이 커져 성능에 큰 도움이 된다. cache hit : CPU가 참조하고자 하는 메모리가 캐시에 존재하고 있는 경우 고정이고 연속적인 만큼 인덱스로 random access가 가능하다. 접근, 수정 O(1)으로 빠르게 조회가 가능하다. 하지만 삽입과 삭제의 경우 연속적인 형태 유지를 위해 shi..