개발자의 길 52

[Algorithm] 해커랭크 - Trees: Is This a Binary Search Tree?

https://www.hackerrank.com/challenges/ctci-is-binary-search-tree/problem 주어진 Tree 자료구조가 BST(Binary Search Tree) 인지 판별하는 문제다. 처음에는 단순히 자료의 저장 방법에만 신경을 쓰며 풀어서 오답이 나왔다. 자료의 저장 방법은 데이터가 들어있는 노드의 값보다 작은값은 왼쪽 노드로, 큰 값은 오른쪽 노드로 진행하면서 비어있는 노드를 찾아 저장하는 방법이다. 오답이 나오고 다시 생각을 해 보니 단순히 각 노드의 Left, Right 값의 대소관계만을 고려하면 진짜로 BST인지 판별이 불가능 하다는 생각이 들었다. BST는 특정 노드 A의 왼쪽 서브트리의 모든 값은 A의 데이터값보다 작아야 되며, 오른쪽 서브트리의 값은 ..

[Algorithm] 해커랭크 - Arrays: Left Rotation

https://www.hackerrank.com/challenges/ctci-array-left-rotation/problem 주어진 배열을 Left Rotation 시키는 아주 기본적인 문제이다. 예전 모 기업의 코드테스트 중 이 오퍼레이션이 나왔었는데, 첫문제로 주어져 긴장이 안풀려서 그런지 동작은 되는 엉망진창인 코드를 제출한 기억이 있다. 그래서 포스트로 작성해 본다. 1234567891011121314vector array_left_rotation(vector a, int n, int k) { int tmpValue = 0; int moveValue = a[0]; int dindex = 0; vector returnarray(n); for(int i = 0; i c, c -> d 순으로 순차적으..

반응형