“누워서 읽는 알고리즘” 책에서 소개된 N-Queen problem을 접하게 되었다. 첫 느낌은 어렵지 않을 것 같았으나 생각보다 쉽지 않았던 문제인 것 같다. 문제는 아래와 같다. 가로 세로 모두 N개의 칸이 있는 체스판 위에 N개의 여왕을 올려놓되 서로 공격해서 잡을 수 없도록 놓을 수 있는 방법은 모두 몇 개인가? 예를 들어 4X4라면 아래와 같이 4개의 Queen을 놓을 수 있다. “누워서 읽는 알고리즘” 책에서는 퇴각검색(BackTracking) 알고리즘과 함께 소개하고 있다. 퇴각검색이 무엇인지 먼저 소개하고 넘어가기로 한다. 퇴각검색이란 위키피디아에서는 아래와 같이 정의하고 있다. 퇴각검색(영어: backtracking, 한글: 백트래킹)은 한정 조건을 가진 문제를 풀려는 전략이다. 선뜻 이..
먼저 HashMap과 HashTable의 차이에 대해서 알아보자. Key, Value 형식의 데이터를 저장하는 기능을 제공하는 자료 구조로 큰 맥락에서는 동일하다. 그러나 크게 3가지 정도의 차이를 보인다. Null 허용 여부동기화 여부iterator/Enumeration HashMap은 Key나 Value에 Null 값을 허용하지만 HashTable이나 ConcurrentHashMap은 Null을 허용하지 않는다. 그리고 내부 아이템을 순회하기 위한 기능을 제공하는데, 그 부분에 대해서도 차이가 있다.(자세한 내용은 아래 링크 참조) http://www.jpstory.net/2013/11/difference-hashtable-hashmap-concurrenthashmap/ 여기서는 HashMap, Ha..
최근 어떤 기회로 TreeMap과 HashMap은 어떤 차이가 있는지에 대한 질문을 받았다. 과거 Java 책에서 관련 내용을 본 적은 있으나 잘 기억이 나질 않았다. 특별한 경우를 제외하고는 HashMap을 주로 사용했기 때문에 크게 관심 두지 않았던 것 같다. (Java 개발자라 칭하면서도 기본적인 것을 놓치고 있었던 것에 반성해 본다.) 그래서 한 번 정리해 본다. Java에는 Collection이라는 이름하에 Map, List, Set이 있다. 그 중에서도 Map에 대해서 정리해 보고자 한다.(JDK 1.8 기준) Map이란?key-value 형식의 데이터를 저장할 수 있는 자료 구조이다. Java 개발자라면 HashMap을 자주 사용할 것이다. Map은 인터페이스로 아래와 같이 선언되어 있다. ..
문제의 시작 기존 시스템에서 document.getElementsByName()을 통해서 Dom Elements를 찾는 script가 있었습니다.(보통 jquery를 사용하나 해당 시스템은 jquery 사용 않하네요 ㅠ) 문제는 Elements를 정상적으로 찾아오지 못하는 현상이 발견되었습니다. 원인을 확인하면서 id 속성을 잘못 지정하고 있는 것을 확인하였습니다. HTML 태그에서 id 속성은 document에서 유일하게 지정하는 것이 정상적인 사용법입니다.(아래 참고, name 속성은 중복 가능) 하지만 id 값을 동일하게 설정하면 어떻게 될까요? 3개의 input tag element를 찾으려면 document.getElementsByName(“id”)로 찾을 수 있습니다. 만약 document.g..
- Total
- Today
- Yesterday
- Oracle
- mongodb
- spark
- 데이터 리터러시
- jenkins2.0
- Hdfs
- Apache Spark
- json
- mysql
- Git
- exception
- 태그를 입력해 주세요.
- HADOOP
- Django
- jackson
- linux
- 알고리즘
- spring
- PYTHON
- java
- 확률분포
- mongo
- Sqoop
- flume
- bigdata
- jenkins
- Learning Spark
- 데이터과학자
- 책요약
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |