본문 바로가기

분류 전체보기60

백준 2096번 내려가기 골드5 - Python 풀이 다이나믹 프로그래밍을 활용하는 문제이다. 메모리 제한에 대한 생각 없이 단순히 메모이제이션에 대한 아이디어만 가지고 문제를 풀면 다음과 같은 풀이를 생각할 수 있다. import sys, copy input = sys.stdin.readline n = int(input()) dp_max = [list(map(int, input().split())) for _ in range(n)] dp_min = copy.deepcopy(dp_max) for i in range(1, n): # 0 dp_max[i][0] += max(dp_max[i - 1][0], dp_max[i - 1][1]) dp_min[i][0] += min(dp_min[i - 1][0], dp_min[i - 1][1]) # 1 dp_max[i][.. 2023. 10. 18.
백준 11000번 강의실 배정 골드5 - Python 풀이 문제를 보자마자 직관적으로 이런 풀이를 떠올릴 수 있는데, 수업 시간표를 딕셔너리로 생성하고, 각 시간대 중 배정된 강의 수의 최대 값이 필요한 강의실의 개수일 것이다. import collections n = int(input()) arr = [list(map(int, input().split())) for _ in range(n)] time_table = collections.defaultdict(int) for s, t in arr: for i in range(s, t): time_table[i] += 1 print(max(time_table.values())) 그러나 위 풀이는 메모리 초과가 발생한다. 어짜피 겹치는 시간대만 확인하면 되므로, 시간대를 정렬해서 계산하면 한번만 순회하여 구할 수 있.. 2023. 10. 12.
[C언어] 버블정렬(Bubble Sort) 버블정렬: 두 인접한 원소를 검사하여 정렬하는 방법. 시간복잡도: O(n^2) 2020. 10. 26.
5-4.Python Pandas_DataHandling 준비물 import pandas as pd import numpy as np scv읽고 df #우선적으로 데이터 눈으로 확인 df.shape # 데이터 형태 (행X열) df.head() df.tail() #앞,뒤로 확인 df.describe() #cnt,mean,std, min,max, 상하위 n%등 간단한 통계 확인 df['Area'] # 다룰 특정 행 선택 df[df['Area'].str.contains("Korea")] # 한국에 대한 데이터 확인 df['Item'].unique().shape # 유일값 몇개인지 확인 plot_data_tmp = plot_data.groupby(by='Area').sum() # 같은 Area에 대해 다른 cloumn값들을 합해서 나타냄 ※ Groupby DataFr.. 2020. 6. 12.
5-3.Python Pandas_DataCleaning 준비물 import pandas as pd import numpy as np from google.colab import drive drive.mount('/content/gdrive') request_file_path = "/content/gdrive/My Drive/Colab Notebooks/IntroDataAnalysis/311-service-requests.csv" data = pd.read_csv(request_file_path) data['column'].unique().shape #중복X 유일한 값 개수 확인 Missing values? NA: Not applicable NaN: Not a Number (Missing numerical daa) None: a null value or no .. 2020. 6. 12.
5.2-Python Pandas_DataFrame 준비물 import pandas as pd import numpy as np Viewing Data df.head() df.tail() df.index df.columns df.values df.describe() df.sort_values(by='b") # df.sort_values(by='B', ascending=False) b 라는 특정 컬럼의 value를 기준으로 정렬 Selection df['A'] df[['A','C']] #대괄호 두개에 유의 #Slicing rows df[0:3] #Select by label(s) df.loc (라벨값 기반의 2차원 인덱싱) df.loc[행 인덱싱값] df.loc[행 인덱싱값, 열 인덱싱값] 예시) df.loc[date[0]] df.loc[:,['A','B'.. 2020. 6. 12.