[알고리즘] 트리와 이진트리 - 이진트리(Binary Tree) 검색
·
코딩테스트/자료구조∕알고리즘
이번 코딩테스트 문제는 이진검색을 활용해서 풀어야한다고 해서 이론공부를 먼저 하고, 관련된 실습문제를 따라 작성해보았다. 이진트리 이론은 이해했지만, 자바코드로 구현하려니 머리가 멍해졌다. 💭 자바코드로 구현할 때 노드 자체를 써 본 경험이 적어서 그런것 같아 이번기회에 정리하고 익숙해지려고 한다. 1. 트리(Tree) 트리는 노드(Node)들과 이 노드들을 연결하는 링크(link)로 구성되며 계층적 구조를 표현할 때 사용된다. 조직도 디렉토리와 서브디렉토리 구조 가계도 트리(Tree) 의 기본 성질 노드가 N개인 트리는 항상 N-1개의 링크(link)를 가진다. 트리 루트에서 어떤 노드로 가는 경로는 유일하다. 또한 임의의 두 노드간의 경로도 유일하다. (같은 노드를 두 번 이상 방문하지 않는다는 조건..
[LeetCode] 509. Fibonacci Number (JAVA)
·
코딩테스트
leetcode.com/problems/fibonacci-number/ Fibonacci Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 일반적인 재귀함수 풀이 (= 내 풀이) public int fib(int n) { int result = 0; //1. if문으로 했을 때 if(n==0){ result=0; }else if(n==1){ result=1; }else{ result=fib(n-1)+fib(n-2); } //2. switch문 swi..
How the DNS works
·
코딩테스트
코딩테스트 스터디 시간에 DNS 작동방식을 이해하는데 도움이 되는 영상을 추천받아서 보고왔다. 3분도 안되는 짧은 영상이지만, 영상 이미지로 쉽게 설명해줘서 이해하기 좋다. 해석은 더보기 - 더보기 컴퓨터를 비롯한 장치들은 인터넷상에서 서로를 구별짓기위해 각 장치가 갖고있는 IP 주소를 가지고 통신합니다. 우리는 IP 주소를 기억하는 대신 단어로 표현된 주소를 사용합니다. 예) WWW.GOGGLE.CA, WWW.NAVER.COM DOMAIN NAME SYSTEM(이하 DNS)은 개별 IP주소와 이 단어로 된 주소를 가져와 당신이 원하는 페이지의 사이트를 보여줍니다. 영상은 이 DNS가 어떻게 작동하는지를 다룬 영상입니다. 사용자가 WWW.FLAMINGFLAMINGOS.CA 주소를 검색하면서 시작됩니다. ..
[Codility] BinaryGap (JAVA)
·
코딩테스트
Codility 사이트에 들어가면 기본문제로 풀어볼 수 있는 BinaryGap 테스트를 해보았다. 코딩테스트를 연습해보기 위한 첫 도전! 프로젝트로 스프링만 주구장창 쓰다가 이클립스로 쓰려니까 어색하고 기억도 가물가물했다. (System.out.println 대신에 logger.info 써야될거 같은 기분... ) 코딩 테스트는 자신이 원하는 프로그래밍언어를 선택해서 문제를 풀어볼 수 있다. 내가 선택한 언어는 JAVA 8 먼저, 영어로 된 문제를 해석해보자. BinaryGap : Find longest sequence of zeros in binary representation of an integer. => 정수를 2진수로 표현했을 때 연속된 0의 가장 긴 길이를 구하시오. A binary gap w..