Java에서 배열을 복사할 때, 사용하는 arraycopy에 대해서 알아보자. 이전에 '얕은 복사 vs 깊은 복사’에서도 잠깐 다뤘으며 System.arraycopy
는 깊은 복사할 때 사용한다.
최근에 갑자기 동적 바인딩과 정적 바인딩에 관한 내용이 떠올랐는데, 말로 설명하지 못하는 모습을 보고 정확히 알지 못한다는 것을 알게 되었다. 그래서 정리하려고 한다.
Continue reading서론
- 자바의 정렬 함수를 자주 사용하는데, 내부적으로 어떤 알고리즘이 사용되는지 궁금해서 작성하게 되었다.
- 참고로 이번 글은 정렬 알고리즘을 설명하는 게 아닌 어떤 알고리즘이 쓰이는지를 정리하는 글이다.
구현 과정에서 람다를 사용하므로 Java 8을 베이스로 진행한다.
Continue readingTrie 자료구조란?
- 일반 트리 자료구조 중 하나로, Digital Tree, Radix Tree, Prefix Tree라고도 불린다.
- 텍스트 자동 완성 기능과 같이 문자열을 저장하고 탐색하는데 유용한 자료구조이다.
배열의 복사와 관련해서는 얕은 복사와 깊은 복사의 차이점을 알아야 한다.
Continue reading최근에 프로그래머스에서 제공하는 2020 카카오 블라인드 채용 코딩 테스트 문제를 풀었다. 그 중에서도 문자열 압축이라는 문제를 풀었는데, 그렇게 어렵지 않았다. 하지만, 문자열을 처리하는 부분에 대해서 취약하다는 걸 깨달을 수 있는 문제였다. 어렵지 않지만, 문자열 처리에 관해 얼마나 아는지 물어보는 문제였다.
Continue readingstartsWith()
- 함수 원형 : boolean startsWith(String prefix)
- 대상 문자열이 특정 문자 또는 문자열로
시작하는지 체크하는 함수
이다. - 해당 문자열로 시작되는지 여부를 확인하고 boolean에 맞춰 true/false 값을 반환한다.
자바로 프로젝트를 진행하고 있다. 하지만, 자바에 대한 개념이 약해서 예전에 정리했던 자료들을 보면서 익히고 있고 프로젝트를 하면서 어느정도 손에 익었다고 생각이 된다. 아직까지는 자바가 강세이긴 한 것 같다…ㅜ 조금 더 자바에 대해 공부하기 위해 이펙티브 자바책도 사서 공부해봐야겠다.
Continue reading