#. Problemhttps://www.acmicpc.net/problem/11722* The copyright in this matter is in BOJ #. Resolution Process 1. Read and understand problem 2. Redefine the problem + abstract 3. Create solution plan (select Algorithm, Data structure) 4. Prove the plan (check performance time and usage memory) 5. Carry out the plan 6. Look back on the plan and find a way to improve it #. SolveLIS문제(최소 증가 부분 수열)의..
#. Problemhttps://www.acmicpc.net/problem/1915* The copyright in this matter is in BOJ #. Resolution Process 1. Read and understand problem 2. Redefine the problem + abstract 3. Create solution plan (select Algorithm, Data structure) 4. Prove the plan (check performance time and usage memory) 5. Carry out the plan 6. Look back on the plan and find a way to improve it #. Solve유형만 잘 파악하면 되는 문제라고 하..
#. Problemhttps://www.acmicpc.net/problem/2167* The copyright in this matter is in BOJ #. Resolution Process 1. Read and understand problem 2. Redefine the problem + abstract 3. Create solution plan (select Algorithm, Data structure) 4. Prove the plan (check performance time and usage memory) 5. Carry out the plan 6. Look back on the plan and find a way to improve it #. Solve최대 배열의 크기는 300x300 =..
#. Problemhttps://www.acmicpc.net/problem/11055* The copyright in this matter is in BOJ #. Solve전형적인 DP, LIS 문제이다.자세한 동작 설명은 문제를 참고해보자. #. Python Code12345678910import copyN, A = int(input()), list(map(int, input().split()))dp = copy.deepcopy(A) for i in range(1, N): for j in range(i): if A[i] > A[j]: dp[i] = max(dp[i], dp[j] + A[i]) print(max(dp))Colored by Color Scriptercs line 3) 자기 자신이 가장 긴 ..
#. 색인 (.np.ix_, .iloc, .loc) *# 슬라이스 색인 (얕은 복사, 원본 갱신) - 1차원 : ar[n:m] # n~m-1 - 2차원 : arr[:2] # 행 우선 (n~1행) arr[:2, 1:] # (n~1행, 1~m열) # 다차원 색인 - arr[[1,5,3], [2,6,4]] # point 색인 (1,2), (5,6), (3,4) - arr[[1,5,3], [:,[2,6,4]] # 1,5,3행의 2,6,4열 # np.ix_() 함수 색인 - arr[np.ix_([1,5,3], [2,6,4])] # 1,5,3행의 2,6,4열 (np.ix_ 함수 : 위치 값으로 전달) # iloc[] 정수 색인 - df.iloc[0,:] # 0번째 행 - df.iloc[:,0] # 0번째 열 - d..
그룹 연산(Group by) - 연산대상.groupby(그룹핑 대상) - groupby의 결과는 Dictionary 형태 - groupby 수행 시 결과는 보여주지 않음 로 그룹핑이 되었다고만 출력 - 분리 -> 적용 -> 결합 : 다른 언어와 다르게 파이썬은 분리(split)까지 동작. 적용과 결합을 위해 연산 메서드를 적용 pd.groupby? pd.groupby(*args, **kwargs) #. 그룹 연산(pd.groupby) sub = pd.read_csv('subway.csv', encoding='cp949') # 노선번호별 승차에 대한 평균 # 방법 1) 일부 컬럼 전달(속도상 유리) sub['승차'].groupby(sub['노선번호']).mean() # 방법 2) 전체(연산 가능한 모든 컬..
참고글 : [Python] 피벗 (.pivot, .pivot_table) [Python 시각화] 선 그래프 그리기 (matplotlib API) import pandas as pd import numpy as np from pandas import Series, DataFrame from numpy import nan as NA import matplotlib.pyplot as plt %matplotlib qt #. 막대 그래프(Bar Plot) 그리기 - 각 로우별 막대 그래프 출력 - 각 컬럼이름이 범례로 지정 df1 = pd.read_csv('plot_test.csv') df1.index = ['월','화','수','목','금','토','일'] df1.columns.names = ['지점'] df1..
참고글 : [Python] 피벗 (.pivot, .pivot_table) [Python 시각화] 막대 그래프 그리기 (matplotlib API) import pandas as pd import numpy as np from pandas import Series, DataFrame from numpy import nan as NA matplotlib API cmd 모드로 사용 시, - pylab 모드로 실행 : ipython --pylab - pylab 모드로 전환 : %matplotlib qt import matplotlib.pyplot as plt #. 선 그래프(Line Plot) 그리기 - figure : 그래프를 그릴 수 있는 도화지 (subplot만으로도 그래프 생성이 가능하지만, 특정 그래프..