목록CS (39)
기록방
1. SELECT / FROM목적 : 데이터베이스에서 특정 컬럼의 데이터를 조회형태 : SELECT (속성1, 속성2, ...) FROM (테이블)SELECT column1, column2, ...FROM table_name;column1, column2, ... : 조회할 컬럼table_name : 데이터를 조회할 테이블의 이름기타 사항전체 컬럼 조회 : SELECT * FROM (테이블)반환 값 모두 표시(기본설정) : SELECT ALL column1, column2, ... FROM (테이블)선택 컬럼 중복 값 제거 : SELECT DISTINCT column1, column2, ... FROM (테이블)컬럼에 별칭 부여 가능 : SELECT column1 as A, column2 as "B" ..
💡 좋은 개발자의 필수 교양인 변수 작명법에 대해서 정리해보자.1. 대표적인 변수 작명법 종류 알아보기2. 각 환경 별 적용 사례3. 좋은 변수 작명 이론📚 변수 작명법 종류1. 카멜 표기법(Camel Case)형식첫 단어는 소문자, 이후 단어의 첫 글자는 대문자유래낙타(camel)의 혹처럼 단어가 연결될 때 중간 중간 대문자가 있는 모양에서 유래의도긴 변수명을 사용할 때 각 단어를 쉽게 구분할 수 있도록 함장점가독성이 좋고 Java, JavaScript, C# 등의 언어에서 표준으로 사용단점매우 긴 변수명은 여전히 읽기 어려울 수 있음사용 예userName, orderAmount, isLoggedIn, dailyUserTable2. 파스칼 표기법(Pascal Case)형식모든 단어의 첫 글자가 대문..
java 8에서 추가된 Map 인터페이스의 디폴트 메서드로, key로 value를 검색하며 후처리를 진행하는 두 가지 메서드가 있습니다.computeIfAbsent() 메서드는 key가 맵핑되어 있지 않을때,computeIfPresent() 메서드는 key가 맵핑되어 있을 때 후처리를 진행합니다. computeIfAbsent() 메서드computeIfAbsent(key, mappingFunction)는 해당 key로 맵핑된 value가 있다면, value를 반환합니다.해당 key가 맵핑되지 않았다면, mappingFuncion을 실행합니다.메서드 구현default V computeIfAbsent(K key, Function mappingFunction) { Objects.requireNonNull(..
💡 트라이(Trie)는 트리형태로 문자열을 저장해 빠르게 탐색하는 자료구조이다. 일반적인 이진트리의 시간 복잡도는 O(logN) 이지만, 길이가 M인 문자열을 저장하면 O(M*logN)의 시간 복잡도를 갖는 문제가 생긴다.이러한 문제를 해결하기 위해서 Trie는 문자열의 문자 하나씩 노드에 저장한다.문자열 하나를 검색할 때 O(N)의 시간 복잡도를 갖는다.Java에서는 Map 자료구조를 이용해 구현한다.저장된 문자열 : cap, code, kakao, kai 🚀 트라이 자료구조 생성 및 사용검색하고자 하는 문자열을 트라이 클래스에 모두 저장한다.하나의 문자열을 저장할 때, 각 문자를 key로 자식 노드를 value로 트리 형태를 띄는지 확인한다.만약 현재 문자 key가 없다면, 생성해준다.마지막 노드..
💡 벨만-포드(Bellman-ford)는 그래프에서 음수 가중치 간선이 있을 때 최단 거리를 구하는 알고리즘이다. 다익스트라(Dikjstra), 플로이드-워셜(Floyd-Warshall) 알고리즘과 함께 그래프의 최단 거리를 구하는 방법이다.위 알고리즘들과 다르게 음수 가중치의 간선이 있어도 최단 경로를 구할 수 있다.단, 음수 사이클이 있을 경우 최단 거리를 구할 수 없으므로 예외 처리가 필요하다. (음수 사이클의 존재 여부를 파악할 수 있다).매번 모든 간선을 확인하기 때문에 시간 복잡도는 O(VE) = Vertex * Edge로 다익스트라보다 느리다. 🚀 벨만-포드 알고리즘 동작 과정출발노드, 도착노드, 가중치 3개의 변수를 갖은 Edge클래스(혹은 배열)를 선언한다.계산 결과인 최단경로를 저장..