항해99 TIL-12
풀이 문제: 백준 2156 (포도주 시식) 알고리즘: DP 후기: DP 처음이었다 Dynamic Programming (DP) 말로만 듣던 DP를 만났다 첫인상: 읽어도 읽어도 이렇게 이해가 안 된 알고리즘은 처음이다.. 많은 글들에서 얘기하고 있어서 기억에 나는 키워드들 정리 DP: 복잡한 문제를 작은 문제로 나눠서...
풀이 문제: 백준 2156 (포도주 시식) 알고리즘: DP 후기: DP 처음이었다 Dynamic Programming (DP) 말로만 듣던 DP를 만났다 첫인상: 읽어도 읽어도 이렇게 이해가 안 된 알고리즘은 처음이다.. 많은 글들에서 얘기하고 있어서 기억에 나는 키워드들 정리 DP: 복잡한 문제를 작은 문제로 나눠서...
풀이 문제: 백준 16401 (과자 나눠주기) 알고리즘: 이진 탐색 후기: 이진 탐색은 처음이었다 이진 탐색 (Binary Search) 시간 복잡도: $O(\log(n))$ 탐색 범위가 너무 크면, 이진 탐색을 먼저 떠올리자 1. low, high 지정 2. mid = (low...
풀이 문제: 백준 1783 (병든 나이트) 알고리즘: 그리디 후기: 이게 어떻게 실버 3이지? 찬찬히 케이스를 확인해보면서 하자. 보자마자 어떻게 풀지 딱 답이 나올 수 없는 문제
풀이 문제: 백준 2437 (저울) 알고리즘: 그리디 후기: 티어 보고 겁 먹지 말자 구글에 검색한 풀이들에 오류가 많더라, 스스로 잘 검증하자
풀이 문제: 백준 9996 (한국이 그리울 땐 서버에 접속하지) 알고리즘: 문자열 후기: 괜히 알고리즘을 공부하면서, 어렵게 생각한 것 같다. 문제를 보고 알고리즘을 파악하는 훈련을 하자 len(pattern[0] + pattern[1])의 이유는 조금 더 파헤쳐 보자
풀이 문제: 백준 10799 (쇠막대기) 알고리즘: DFS 후기: 유형별 풀이가 아닐 때, 문제를 보고 자료구조나 알고리즘을 파악하는 게 쉬운 일은 아닌 것 같다. 이 문제를 보고 Stack을 써야겠다고 생각하는 게 쉽진 않을 듯싶다 그래도 문제를 이해했으니, 그걸로 됐다
풀이 문제: 백준 4963 (섬의 개수) 알고리즘: DFS 후기: DFS는 아직 많이 어색하다 visited를 꼭 설정할 필요가 있는 건 아니었다. (깨달음) 런타임 에러가 뜨는 경우에는 sys.setrecursionlimit(10**6) !!!
풀이 문제: 백준 2559 (수열) 알고리즘: 슬라이딩 윈도우 후기: 수열에서 연속된 같은 크기의 묶음 중, 그 합이 가장 큰 묶음을 찾는 거였다. 단순 구현 자체는 어렵지 않았으나, 시간 초과 어떻게 해결할 수 있을지 찾아보던 중 Sliding Window를 발견 슬라이딩 윈도우 어려운 건 아니...
풀이 문제: 백준 2468 (안전 영역) 알고리즘: DFS 후기: DFS 문제 풀이는 처음이었다. DFS 알고리즘 흐름에 대해 더 이해할 필요는 있겠지만, 느낌은 알 것 같다. 그 외에도, 인풋을 받는 효율적인 코딩에 익숙해지자. [list(map(int, sys.stdin.readline().split()))...
풀이 문제: 백준 2468 (안전 영역) 기억할 개념 Node, Edge, Vertex Adjacent 프로그래밍에서 그래프를 표현하는 2가지 방식 인접 행렬 (Adjacency Matrix): 2차원 배열 표현 모든 관계를 저장 인접 리스트 ...