개발일지 39

심화 과정 10 일차

1. 자료구조 및 알고리즘 10일차 수강하기 - 구현 & 시뮬레이션 2. 새롭게 알게된 지식 과제 1 : 미세먼지 https://www.acmicpc.net/problem/17144 - 접근 : 확장 가능한 미세먼지 큐에 등록 미세먼지 확장 기능 구현 공기 순환 기능을 구현 - 코드 구현 : import sys from collections import deque class Solution: def __init__(self): self.input = sys.stdin.readline self.output = sys.stdout.write self.spread_way = ((-1,0), (0,1), (1,0), (0,-1)) def findSpreadable(self, room_air: list): """..

개발일지 2024.02.23

심화 과정 9 일차

1. 자료구조 및 알고리즘 9일차 수강하기 - 최소 신장 트리 (MST : Minimum Spanning Tree) 알고리즘 2. 새롭게 알게된 지식 - MST 란? 모든 노드가 연결 되어 있어야함 각각의 노드에서 가중치가 최소가 되는 간선을 선택 - MST 관련 알고리즘 1) Kruskal Algorithm - 간선(edge) 중심 2) Prim Algorithm - 정점(vertex) 중심 - 임의의 시작점이 존재 - 인접한 정점 중 가중치가 가장 낮은 정점을 선택 과제 1 : 네트워크 연결 https://www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicp..

개발일지 2024.02.23

3주차 WIL

3주차 회고 Keep : - 시간 복잡도와 공간 복잡도를 계산하고 , 실제로 더욱 빠른 코드 탐구 및 구현 - 빅 O 계산시 n , n^2 이상 계산 ( 실제 n 을 찾아서 수의 범위 및 시간 범위 판단 ) Problem & Try : - 사용 가능한 알고리즘 기법 부족 > 지속적인 학습으로 보충 (트리, 2진 트리) - 알고리즘 문제 의도를 분석하지 못한 경우 > 문제만 이해하고, 풀이 방법은 정답을 참고하여 학습 ( 잘못된 접근 방식 습관화 방지 ) > 잘못된 접근 (의도와 다르게 짜여진 코드) 으로 인한 시간 낭비를 줄여 정확한 방식의 풀이법을 습득 하는 시간 늘리기 - 블로그 기록 시간 줄이기 > 습득한 지식 조금 더 요약하여 빠르게 작성하고 추후(공휴일 이용) 2차 수정을 통하여 보완 - 알고리..

개발일지 2024.02.18

심화 과정 8 일차

1. 자료구조 및 알고리즘 8일차 수강하기 - 트리 - 이진트리 2. 새롭게 알게된 지식 - 이진 트리란? 1. 모두가 연결되어 있는 그래프 2. 정점(Node) 의 갯수 = 간선의 갯수 + 1 ( 그래프 내 사이클이 발생하지 않음 ) - 일반적으로 트리에 관한 문제는 DFS 가 적합 (부모 자식관의 관계 및 Sub tree 부터 해결해서 전체를 해결) - Rooted Tree 과제 1 : 이진 트리의 직경https://leetcode.com/problems/diameter-of-binary-tree LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a ..

개발일지 2024.02.18

심화 과정 7 일차

1. 자료구조 및 알고리즘 7일차 수강하기 - BFS - 백트래킹 2. 새롭게 알게된 지식 과제 1 : 부분 집합 https://leetcode.com/problems/subsets/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com - 접근 : DFS 가 더욱 적합하지만 BFS 를 배웠기 때문에 BFS 로 풀기 - 코드 구현 : 과제 2 : 코스 스케줄 htt..

개발일지 2024.02.16

심화 과정 6 일차

1. 자료구조 및 알고리즘 6일차 수강하기 - DFS - 그래프 2. 새롭게 알게된 지식 * Python 2차 배열을 초기화 관련 과제1: 전화번호 문자 조합 https://leetcode.com/problems/letter-combinations-of-a-phone-number LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com - 접근 : - 코드 구현 : 과..

개발일지 2024.02.15

심화 과정 5 일차

1. 자료구조 및 알고리즘 5일차 수강하기 - 링크드 리스트 2. 새롭게 알게된 지식 - 링크드 리스트의 노드 구성을 표현하면 다음과 같다 과제1: 역순 연결 리스트 https://leetcode.com/problems/reverse-linked-list/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com - 해답은 간결하지만 접근 및 구현이 쉽지 않다. 과제2..

개발일지 2024.02.13

2주차 WIL

2주차 회고 Keep : - 시간 복잡도와 공간 복잡도를 계산하고 , 실제로 더욱 빠른 코드 탐구 및 구현 Problem & Try : - 사용 가능한 알고리즘 기법 부족 > 지속적인 학습으로 보충 (BFS, DFS, DP) - 알고리즘 푸는 시간 단축 > 상황을 카테고리별로 분류하고 해당 사항일때, 해당 풀이법을 먼저 고민 EX> - 백준 입 / 출력 관련 미숙 > input() ,output(), sys 관련 함수 사용 숙달

개발일지 2024.02.09

심화 과정 4 일차

1. 자료구조 및 알고리즘 4일차 수강하기 - 최소힙, 최대힙 heapq 모듈을 이용하여서 구현 2. 새롭게 알게된 지식 - 크기가 고정된 리스트의 경우 : sorted 와 max heab 의 시간 복잡도는 N logN 으로 동일하다. - 크기가 가변되는 경우 : 리스트는 길이가 변할때 마다 시간 복잡도 N 이 증가하지만 heap 의 경우에는 logN 으로 빠르다. python3 및 pypy3 차이 과제1 : Maximum Product of Two Elements in an Array: https://leetcode.com/problems/maximum-product-of-two-elements-in-an-array/ LeetCode - The World's Leading Online Programmi..

개발일지 2024.02.08

심화 과정 3 일차

1. 자료구조 및 알고리즘 3일차 수강하기 - 해시 테이블 딕셔너리 문법으로 사용 2. 새롭게 알게된 지식 과제1 : 보석과 돌 https://leetcode.com/problems/jewels-and-stones LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com - 접근 - 코드 구현 과제2 : 중복 문자가 없는 가장 긴 부분 문자열 https://leetco..

개발일지 2024.02.07