본문 바로가기

전체 글657

이진검색트리 (BST: Binary Search Tree) 이진 검색 트리(Binary Search Tree, BST)는 탐색을 효율적으로 할 수 있는 자료구조 중 하나입니다. 이진 검색 트리의 성질은 다음과 같습니다. - 각 노드에 고유의 값이 있다. - 노드의 왼쪽 서브트리는 노드 값 보다 작은 값들이다. - 노드의 오른쪽 서브트리는 노드 값 보다 큰 값들이다. - 서브트리 또한 이진 검색 트리이다. 생성 노드를 생성하는 방법을 알아보겠습니다. 방법은 우선 첫 번째로 입력받은 수는 루트 노드로 만듭니다. 그 뒤에 입력받는 수는 루트로부터 노드의 수와 비교하여 작으면 왼쪽, 크면 오른쪽 자식 노드로 내려갑니다. 그리고 노드가 없을 때는 해당 위치에 입력받은 값으로 노드를 생성합니다. 예를 들어서 알아봅시다. 자료 : 15 3 8 10 26 38 36 7 9 2.. 2020. 10. 6.
[leetcode][39] Combination Sum 문제 : leetcode.com/problems/combination-sum/ 정수형 배열 candidates이 주어질 때 이들을 더해서 target을 만들 수 있는 배열을 구해라. 이 때, candidates 값은 중복해서 더해질 수 있다. 오랜만에 찾아온 백트래킹 친구. fun backtracking(index, target, 저장배열[]) { if (target == 0) 정답배열에 저장배열 추가. if (target < 0) 정답 불가능하므로 종료. for(num = candidates[index, 끝]) { 저장배열 뒤에 num 추가. backtracking(index, target - num, 저장배열) 저장배열 뒤에 추가한 num 삭제. } } 시간복잡도는 O(|candidates| * ta.. 2020. 10. 5.
[201003] youtu.be/3ghTS1oNlQ4?t=32 stay beautiful 원곡은 제이미인데 원곡도 좋다. 노래 메시지도 좋다. 나비는 꽃으로 간대 꽃은 나비를 부른대 그럼 나비를 부르지 않는 꽃은 꽃이 아니라 하는 건가 향기는 향기 나비는 나비고 꽃은 꽃일뿐이고 날 그리고 새겨 미미 랩부분 가사인데 보자마자 김춘수 시인의 꽃이 생각났다. 내가 그의 이름을 불러주기 전에는 그는 다만 하나의 몸짓에 지나지 않았다 내가 그의 이름을 불러주었을 때 그는 나에게로 와서 꽃이 되었다 내가 그의 이름을 불러준 것처럼 나의 이 빛깔과 향기에 알맞는 누가 나의 이름을 불러다오 그에게로 가서 나도 그의 꽃이 되고 싶다 우리들은 모두 무엇이 되고 싶다 너는 나에게 나는 너에게 잊혀지지 않는 하나의 눈짓이 되고 싶다 의미있는.. 2020. 10. 3.
200926 오버워치 올스타전 개꿀잼보다말다 하다가 위도우메이커 4강부터 제대로 봤는데 디엠선수 경기는 안나와도 실력은 여전했다. 크..1대1도 재밌었지만 옵치는 역시 팀게임, 마지막에 한 올스타경기가 젤 재밌었다.역시 라자메타가 재밌다잉. 인상깊었던 부분은 리알토 다리에서 선수들 우수수 낙사할때랑, 거점에 숨어있는 쬐까만 햄찌, 누구보다 빠른 다리를 가진 둠피라던가 ㅎㅎ 역겨워게임은 진짜 잘 만들었는데.. 흑흑.. 제발 다시 흥해라.. 보면서 느낀건데 스킨 색조합이 이쁘다.첨에 봤을때는 흰x스카이블루가 압도적이었는데 보면볼수록 갈녹 조합도 이쁘다.포켓몬도 이런걸로 버전 내면 안되나. 소울실버보다는 포켓몬 디자인 이뿌게 뽑힐거같은데..?하늘 대지. 소드실드 보단 디자인 아이디어 뿜뿜 나올거 같은데ㅔ 2020. 9. 26.
[programmers][월간 코드 챌린지 시즌1] 짝수 행 세기 문제 : programmers.co.kr/learn/courses/30/lessons/68647 0과 1로 이루어진 2차원 배열이 주어질 때 조건을 만족하며 만들 수 있는 2차원 배열의 경우의 수를 구하여라. 1. 모든 원소는 0, 1이다. 2. 입력으로 주어지는 배열의 각 열이 가진 1의 개수와 새롭게 만드는 배열의 각 열의 1의 개수는 같다. 3. 각 행의 1의 개수는 짝수이다. 경우의 수의 10^7 + 19로 나눈 나머지를 반환해라. dp로 풀었다. let, n = 입력 배열의 행의 수, m = 입력 배열의 열의 수. dp[column][num] = arr[0~n][0~column]까지 1,2번 조건을 만족하면서 num개의 행이 짝수인 배열을 만들 수 있는 경우의 수 dp 배열은 위와 같다. dp .. 2020. 9. 20.
[programmers][월간 코드 챌린지 시즌1] 삼각 달팽이 문제 : programmers.co.kr/learn/courses/30/lessons/68645 정수 n이 주어질 때 밑변, 높이가 n인 삼각형을 반시계 방향으로 달팽이 채우기를 진행한 배열을 구해라. ex) n = 3 1 2 6 3 4 5 queue, stack을 이용했다. n, n-1, n-2, n-3 ... 1 개씩 배열을 아래, 오른쪽, 위로 채워나간다. 이때, 아래, 오른쪽을 채울 때는 수를 큐에 넣고 위에 넣을 때는 스택에 넣는다. 높이가 n인 삼각형이므로 크기가 n인 queue 배열, stack 배열 2개가 필요하다. queue[i], stack[i] 에는 삼각형의 i형에 들어갈 수를 저장한다. 모든 배열을 채웠을 때, i를 처음부터 끝까지 탐색하면서 queue에 있는 수를 먼저 넣고 sta.. 2020. 9. 17.