Binary Tree Inorder Traversal| root를 언제 방문하냐를 기준으로 달라진다postoreder왼쪽자식 - 오른쪽자식 - 부모preorder부모 - 왼쪽자식 - 오른쪽 자식inorder왼쪽자식 - 부모 - 오른쪽 자식inorder이기 때문에 왼쪽자
Maximum Depth of Binary TreeDFS를 이용하여 부모의 왼쪽자식, 오른쪽자식을 재귀적으로 탐색. 왼쪽자식의 높이와 오른쪽자식의 높이중 큰것을 return해당 노드가 없는경우 (root===null) 이때까지의 높이를 return 한다root 자체가
리스트 만들기1차원 리스트 만들기
dp bottom-up다른 풀이를 보니 N이 5로 나누어질 때, 3으로 나누어 질때 케이스를 나누어 풀기도 하였다일반적인 상황에서 적용시키기 위해서, dp의 값들을 최초의 값들은 무한대로 설정하고,return을 할 때 정확하게 N킬로그램을 만들 수 없다면 INFINIT
브론즈 문제 치고 꽤 생각을 많이했던 문제그리디로 분류되었던데, 그냥 풀었다.핵심풀이는 다음과 같다.만약 커플석없이 S로만 이루어져 있다면 N명의 사람과 N+1개의 컵홀더 있을 것이다.커플석이 존재한다면, 컵홀더의 갯수는 N+1 - 커플석의 갯수 가 된다.왜냐하면 원래
레벨 1 문제인 "3진법 뒤집기"를 풀다가 javascript의 진법 다루는 방법을 잘 모른다는 것을 깨달았다. 이 글을 통해 정리하고자 한다. 수학을 통해 직접 계산해서 진법을 표현하는 방법도 있지만, 실제 알고리즘 테스트에서 쉽고 빠르게 사용할 수 있는 메서드 위주
deque를 선언할 때 미리 초기값을 넣어주려면 deque(초기값)을 하면 된다. 이번 문제에서 0,0값을 미리 넣어주고 싶어서 deque(\[0,0])을 해주었다.인접행렬로 그래프를 표현했다visited 배열에 cnt를 세주었다. 이상하게 파이썬 0으로 만들어진 리스
전체 코드 복기 백준
이분탐색으로 O(logN) 시간복잡도로 풀어보자명심해야할 사실은 이분탐색은 항상 정렬된 배열에서 탐색가능하다모듈없이 풀기알고리즘이 헷갈린다. if else문에서 등호는 어디에 들어가야하는지 언제 mid + 1 해야하는지 헷갈림완벽히 이해하지 않는 이상 계속 헷갈릴듯
문제 키워드 : 조합 이진탐색info 배열의 크기는 1 이상 50,000 이하입니다.query 배열의 크기는 1 이상 100,000 이하입니다.처음에는 완전탐색처럼 하나하니씩 비교해나가는 로직을 떠올렸습니다이러한 방법으로 문제를 접근하면 50,000 \* 100,000
최근들어 이진탐색 문제를 많이 풀어보았는데 뒤죽박죽 섞여있는 개념들을 한번 정리하고자 글을 작성합니다. 개념적인 부분보다는 코드적인 구현방법을 정리합니다. 언어는 파이썬 입니다이 글에서 정리하는 것재귀while 문lower boundupper boundarr\[mid]
자바스크립트의 toString 메서드로 간단하게 진수변환을 할 수 있었다.소수찾는 알고리즘을 에라토스테네스의 체 알고리즘으로도 구현할 수 있다. 효율성을 검사하지 않는 간단한 문제이기 때문에 좀 더 간편한 알고리즘으로 구현했다. 프로그래머스의 level2 치고는 쉬운문
카카오 양궁대회 풀이
카카오 자바스크립트 불량사용자
카카오 2018 캐시문제를 파이선으로 풀어보자
카카오 주차요금 계산 문제를 파이썬으로 풀어보자
가장 먼 노드 풀이 (BFS)
입국심사 풀이
자바스크리트 백트래킹 + DFS 여행결로 풀이
N x N 배열 회전하기
TIL 트라이 구현하기