반응형 전체 글162 BOJ 1991 - 트리 순회 / C++ 문제 링크 : https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 문제 풀이 저번 포스트에서 map을 이용하여 트리를 구현하는 법을 알아보았다. 트리 구조 - 개념 및 예제 트리 구조 트리 구조는 정보의 항목들이 가지(branch)로 연결될 수 있도록 하는 자료 구조이다. 트리를 이해하고 구현하려면 아래의 용어들을 이해해야 한다. 우선, A-C 노드의 관계를 보면 A를 부 appdevorsec.tistory.com 이를 이용하여 트리를 .. 2022. 2. 2. Swift - ARC ARC(Automatic Reference Counting)란? ARC는 자동으로 메모리를 관리해주는 방식으로 더 이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방식으로 동작한다. 따라서, 프로그래머가 메모리 관리에 신경을 덜 쓸 수 있어 편리함을 제공한다. ARC가 관리하는 참조 횟수 계산(Reference Counting)은 참조 타입인 클래스의 인스턴스에만 적용된다. 구조체와 열거형같은 값 타입은 참조 횟수 계산과 무관하다. Swift에서는 ARC를 사용하지만, 자바 등 다른 프로그래밍 언어에서는 메모리 관리 기법으로 가비지 컬렉션(Garbage Collection)을 사용한다. 아래는 ARC와 가비지 컬렉션의 차이를 표로 나타낸 것이다. 가장 큰 차이점은 참조를 계산하는 시점이다. 이.. 2022. 1. 31. 트리 구조 - 개념 및 예제 트리 구조 트리 구조는 정보의 항목들이 가지(branch)로 연결될 수 있도록 하는 자료 구조이다. 트리를 이해하고 구현하려면 아래의 용어들을 이해해야 한다. 우선, A-C 노드의 관계를 보면 A를 부모 노드, C를 자식 노드라 한다. 아래는 나머지 용어를 정리한 것이다. 루트 노드(root node): 부모가 없는 노드 단말 노드(leaf node): 자식이 없는 노드 내부 노드(Internal node): 그 외의 나머지 노드 형제(sibling): 같은 부모를 가지는 노드 노드의 레벨(level): 루트의 레벨을 l으로 정하였으면, 그 자식의 레벨은 l + 1 노드의 깊이(depth) 또는 높이(height): 그 트리가 속한 노드의 최대 레벨 노드의 차수(degree): 한 노드의 서브 트리의 수.. 2022. 1. 27. 프로그래머스 - 110 옮기기 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/77886 코딩테스트 연습 - 110 옮기기 0과 1로 이루어진 어떤 문자열 x에 대해서, 당신은 다음과 같은 행동을 통해 x를 최대한 사전 순으로 앞에 오도록 만들고자 합니다. x에 있는 "110"을 뽑아서, 임의의 위치에 다시 삽입합니다. 예를 programmers.co.kr 문제 풀이 110을 옮겨 사전순으로 가장 앞에 있는 문자열을 만들어 리턴하면 된다. 그러기 위해서는 무조건 0이 앞에 있는 형태가 만들어져야 한다. 각 문자열 별로 덱을 생성하여 모든 110을 제거 후 추후에 다시 넣어주기 위해 카운트도 세준다. 만약 cnt가 0이라면 110이 없는 형태이므로 그대로 정답 배열에 넣어준다. .. 2022. 1. 27. 이전 1 ··· 21 22 23 24 25 26 27 ··· 41 다음 반응형