본문 바로가기

분류 전체보기37

클래스101 14일 무료체험 후기 및 해지 방법 최근 클래스101에서 14일간 모든 강의를 무료체험하고 구독서비스를 제공하는 이벤트가 있어서 사용해 보았다. 원하는 강의를 듣고 14일이 되기 전에 해지하면 되서, 평소 관심가던 강의를 들어보기로 했다. 체험 후기 나는 평소에 알고리즘/개발 공부를 하면서 블로그를 자주 이용했기 때문에 공부의 흔적도 남기고 부업도 해볼 겸, 블로그 기초과정 강의를 수강했다. 업무하거나 공부할때 그렇게 검색을 많이 이용하면서.. 왜 진작 해볼 생각을 못했을까.. 이번 클래스101 이벤트 덕분에 조금 더 찐 개발자? 가 될 수 있을 것 같은 기분이다. 내가 공부한걸 남한테 설명할 수 있어야 진짜 아는 거라고.. 학생때부터 많이 듣던 말이었는데, 결국 어른들 말이 다 맞는 것 같다. 이번에 개설한 블로그로 개발 공부도 더 열심.. 2022. 12. 29.
[SWEA 5286][Python][파이썬 S/W 문제해결 최적화] 5일차 - 그래프 색칠하기 코드 ## SWEA 5286 -- dfs 풀이 def dfs(node,color): global result visited[node] = 1 color_arry[node] = color color_list = [i for i in range(1, M + 1)] for next in node_arry[node]: if visited[next] == 0: tmp_color_list = list(set([color_arry[i] for i in node_arry[next]])) available_color_list = [c for c in color_list if c not in tmp_color_list] if not available_color_list: result = 0 return for next_c.. 2022. 12. 29.
[SWEA 5255][Python] [파이썬 S/W 문제해결 최적화] 2일차 - 타일 붙이기 코드 ## SWEA 5255 T = int(input()) for test_case in range(1 ,T+1): N = int(input()) arry = [-1]*(N+1) for i in range(1,N+1): if i == 1 : arry[i] = 1 elif i == 2 : arry[i] = 3 elif i == 3 : arry[i] = 6 else : arry[i] = arry[i-1] + 2*arry[i-2] + arry[i-3] print(f"#{test_case} {arry[N]}") 풀이 상향식 방법으로 점화식을 찾는게 어려웠다. arry[N]을 만드는 방법은 반복을 제외하고 3가지가 있는데, 1) arry[N-1]일 경우 : 2x1 타일 하나를 새로로 붙인다. 2) arry[N-2.. 2022. 12. 28.
[SWEA 5256][Python] [파이썬 S/W 문제해결 최적화] 2일차 - 이항계수 코드 ## SWEA 5256 T = int(input()) for test_case in range(1,T+1): n,a,b = map(int, input().split()) dp = [[0]*(n+1) for _ in range(n+1)] t = min(a,b) for i in range(0, n+1): for j in range( min(i, t)+1 ) : if dp[i][j] == 0 : if j == 0 or j == i : dp[i][j] = 1 else : dp[i][j] = dp[i-1][j] + dp[i-1][j-1] print(f"#{test_case} {dp[n][t]}") 풀이 2차원 list dp에 2중 for 문을 돌면서 계수를 update한다. 여기서 DP를 사용하기 위해서 이.. 2022. 12. 28.