목록분류 전체보기 (126)
개발에 AtoZ까지

1. 정의 - 그래프 탐색의 한 종류로 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한번씩 방문하는 것 - 자세하게는 루트노드( 혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 - 넓게(Wide) 탐색하기 전에 깊게(deep) 탐색하는 방식의 알고리즘 2. 특징 - 자기 자신을 호출하는 순환 알고리즘(재귀)의 형태를 가짐 - 전위 순회(Pre-Order Trversals)를 포함한 다른 형태의 트리 순회는 모두 DFS의 한 종류이다. - DFS 알고리즘 사용시 어떤 노드를 방문했었는지를 반드시 확인하여야함(안그러면 무한루프가 발생할 수 있음) 3. DFS 동작 과정 1. 0번 노드가 시작 정점이라고 한다면 0번 노드와 인접한 노드들..

문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 더보기 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입출력 예 citations..

문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 더보기 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [6, ..

문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 더보기 제한사항 array의 길이는 1 이상 100 이하입니..
1. 목표 이번 포스팅의 목표는 DB관련 라이브러리 3가지의 특징 및 차이점을 알아보는 것입니다. 2. 정의 라이브러리명 H2 JPA MyBatis 정의 H2DB는 자바 기반의 오픈소스 관계형 데이터 베이스 관리 라이브러리 개발자가 직접 SQL을 작성하지 않아도 자동으로 생성해주는 라이브러리 개발자가 직접 SQL을 작성하여 객체와 매핑시키는 라이브러리 장점 브라우저 기반의 콘솔모드를 이용할 수 있고, 별도의 설치과정이 없이 용량도 2MB이하로 매우 저용량임 DB자체가 매우 가볍기 때문에 빠르고, JDBC API 또한 지원 RDB에 종류와 관계없이 사용가능 SQL 및 데이터 중심이 아닌 객체중심적이기 때문에 비지니스 로직에 집중 가능 테이블 생성,변경등 엔티티 관리 간편 JPA에 비해 쉬움 SQL의 세부적..
1. 환경 - spring Legacy project (mvc) - spring security - java 1.8 - Orcle DB - tomcat 8.5.59 - maven 2. POM.xml - Mybatis 코드 commons-dbcp commons-dbcp 1.4 org.mybatis mybatis 3.4.0 org.springframework spring-jdbc ${org.springframework-version} org.mybatis mybatis-spring 1.3.0 - JPA 코드 org.springframework spring-orm ${org.springframework-version} org.hibernate hibernate-entitymanager 5.0.11.Final ..
문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 ..

문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 더보기 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이..