본문 바로가기

전체 글20

재귀 함수란? 재귀함수란? (Recursive funciton) 자기 자신을 다시 호출하는 함수 예제 재귀함수를 호출합니다 문자열을 무한히 출력 보통 파이썬 인터프리터는 호출 횟수 제한이 있다. def recursive_function(): print('재귀 함수를 호출합니다.') recursive_function() recursive_function() 코드를 실행 하면 ‘재귀 함수를 호출합니다.’라는 문자열을 무한히 출력한다. 정의된 recursive_function()이 자기 자신을 계속해서 호출하기 때문에 무한루프에 빠지게 된다. 재귀 함수의 종료 조건 재귀 함수를 문제 풀이에서 사용할 때는 재귀 함수가 언제 끝날지, 종료 조건을 꼭 명시해야 한다. 종료 조건을 명시하지 않으면 함수가 무한 호출될 수 있다. d.. 2023. 6. 12.
DFS(Depth First Search)란? DFS(Depth First Search) 아래 글들은 이것이 코딩 테스트다의 강의를 기반으로 개인의 이해를 돕기 위해 정리한 글입니다. DFS 깊이 우선 탐색이라고도 부르며, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 스택 자료구조 혹은 재귀함수를 이용한다. 동작 과정 탐색 시작 노드를 스택에 삽입하고 방문 처리 한다. 스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문처리 한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복한다. 동작 과정 이해 하기 시작 노드인 ‘1’을 스택에 삽입하고 방문 처리를 합니다 스택의 최상단 노드인 ‘1’에 방문하지 않은 인접 노드 ‘2’, ‘3’, ‘8.. 2023. 6. 11.
String StringBuffer StringBuilder란 무엇인가? String StringBuffer StringBuilder란 무엇인가? String, StringBuffer, StringBuilder 모두 문자열을 저장하고 관리하는 클래스 String String은 immutable 나머지 클래스(StringBuffer, StringBuilder)는 mutable한 특성을 가지고 있다. 최초 생성 시 메모리를 할당 받고 그 이후 메모리 공간이 변하지 않습니다. +로 문자열을 추가 연산할 경우 새로운 객체를 생성 해서 문자열을 저장하고 그 객체를 참조한다. 즉, String은 연산 작업이 많을 수록 성능이 좋지 않은 단점이 존재 다만 간단하게 사용하고 동기화에 신경쓰지 않아도 되기 때문에 내부 데이터를 자유롭게 공유 가능 StringBuffer, StringBuild.. 2023. 6. 2.
JPA 란 무엇이고 왜 사용해야 하는가 JPA 소개 JPA? Java Persistence API (인터페이스의 모음이다.) Java 진영의 ORM 기술 표준 JPA 2.1 표준 명세를 구현한 3가지 구현체 - Hibernate, EclipseLink, DataNucleus JPA 버전 JPA 1.0(JSR 220) 2006년: 초기버전. 복합 키와 연관관계 기능이 부족 JPA 2.0(JSR 317) 2009년: 대부분의 ORM 기능을 포함, JPA Criteria 추가 JPA 2.1(JSR 338) 2013년: 스토어드 프로시저 접근, 컨버터(Converter), 엔티티 그래프 기능이 추가 ORM? Object-relational mapping(객체 관계 매핑) 객체는 객체대로 설계, 관계형 데이터베이스는 관계형 데이터베이스대로 설계를 해서.. 2021. 12. 24.