본문 바로가기

반응형

분류 전체보기

(482)
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus() Spring TDD를 시작해보려고 가장 간단한 hello를 호출 했는데 에러가 발생했습니다. @RunWith(SpringJUnit4ClassRunner.class)@WebAppConfiguration@ContextConfiguration(locations = "file:src/main/webapp/WEB-INF/spring/**/**.xml")public class MemberTest { private static final Logger logger = LoggerFactory.getLogger(MemberTest.class); @Inject private WebApplicationContext wac; private MockMvc mockMvc; @Inject private MemberService m..
알고리즘 단계별로 풀어보기 : BOJ-2751(수정렬하기[2]) 문제(출처)N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력554321 예제 출력12345 내 풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class BOJ_2751 { private int[] data; private int[] temp; privat..
[알고리즘]백트레킹 백트레킹이란갈림길에서 길을 선택하고 길을 따라 출구를 찾지 못하면 지나온 길을 되돌아가서 다시 길을 찾는 기법미로를 탈출 하는 방법 중에 하나갈림길 중 한 길로 갔다가 출구를 찾지 못하면 아까 지나왔던 갈림길로 되돌아가서 '출구 아님'을 표시깊이 우선 탐색을 하면서 가지 않아도 되는 길에 대해서는 가지치기를 통해 탐색의 효율을 올림 오름 차순으로 정렬 된 데이터를 이진트리입니다. 합이 가장 큰 값들을 찾는다면 루트 노드와 자식 노드를 각각 더해보고 작은 쪽은 가지 않아도 됩니다. 길을 찾기 위해 갈림길에서 표시를 합니다.
[알고리즘]동적 계획법, 탐욕(그리디) 알고리즘 동적 계획법다이나믹 프로그래밍이라고 칭함큰 문제를 작은 문제로 나누어 해결 하는 알고리즘메모제이션을 활용하여 이전에 찾은 해결 법을 이용하여 중복 계산 방지분할 정복과 다른 점은 중복되는 결과를 다시 계산 하지 않도록 한다는 점 대표적으로 최장 공통 부분 순서 - Top-Down : 재귀 호출을 통해 큰 문제를 작은 문제로 나누어 푸는 방식- Bottom-Up : 작은 문제에서부터 풀어 큰 문제를 푸는 방식 탐욕(그리디) 알고리즘근시안적인 답을 찾는 알고리즘미래를 고려하지 않고 현재 상태에서 가장 좋은 해를 찾는 방식 대표적으로 거스름돈 계산, 허프만 코딩, 크루스칼, 프림, 다익스트라 위 문제는 가장 큰수를 구하는 문제 일반적으로 구하는 가장 큰값 구했을 시 / 탐욕 알고리즘으로 큰 값을 구했을 시
[알고리즘]분할 정복 분할 정복이란문제를 더 이상 나눌 수 없을 때까지 나누고, 각각 문제를 풀어 다시 합치는 알고리즘 1. 분할 : 문제가 분할이 가능하다면 2개 이상의 하위 문제로 나눔2. 정복 : 하위 문제가 분할이 가능하다면 다시 분할 가능하지 않다면 문제 풀이3. 결합 : 정복에서 풀이 한 답을 정리 병합 정렬나누고 합치는 정렬, 퀵 정렬을 기반이 되는 알고리즘 데이터의 집합이 2개 이상일 때까지 반으로 계속 나누고 각 크기를 비교하고 정렬 후 다시 결합하는 방식 C 소스 /* * MergeSort.c * * Created on: 2019. 1. 12. * Author: otrodevym */ #include #include void MergeSort(int DataSet[], int StartIndex, int E..
[알고리즘]알고리즘 성능에 대하여 알고리즘의 성능성능을 측정 할 수 있는 기준 5가지 1. 정확성 : 정확하게 동작하는가입력에 대해서 몇 번을 수행해도 동일한 결과를 정확하게 출력하는가 2. 작업량 : 얼마나 적은 연산을 수행하는가수행해야 하는 작업의 양이 얼마나 되는가버블 정렬은 정렬을 수행하기 위해 얼마나 작업이 필요한가 3. 메모리 사용량 : 얼마나 적은 메모리를 사용하는가작업을 수행하는데 얼마의 메모리가 필요하는가 4. 단순성 : 얼마나 단순한가컴퓨터가 이해하기에 복잡하지 않고 단순한가 5. 최적성 : 더 이상 개선 할 여지가 없을만큼 최적화 되어 있는가컴퓨터가 이해하는데 최적화 되어 있는가 알고리즘 수행 시간 분석알고리즘의 시작 시간부터 종료 시간까지의 시간 분석은 수행 시간을 측정 할 수 없습니다.1. CPU의 성능에 따라 시..
[알고리즘]문자열 검색(고지식한 검색, 라빈-카프, KMP, 보이어-무어) 문자열 검색이란찾고자 하는 패턴의 문자를 본문 내용에서 어디에 있는지 확인 하는 검색패턴과 일치하는 방식으로 찾는 방법은 같으나 효율적으로 찾는 알고리즘들을 학습 고지식한 검색 알고리즘패턴과 본문의 내용을 하나씩 하나씩 맞는지를 처음부터 끝까지 확인하는 방식패턴의 첫번째는 맞지만 두번째가 맞지 않으면 세번째 패턴은 비교하지 않고 본문 다음 글자로 이동 패턴이 일치 하지 않는 경우/ 패턴 중 하나는 일치하지만 다른 하나가 일치 하지 않는 경우 다음으로 이동 패턴이 일치하지 않는 경우 / 패턴이 일치 하는 경우 라빈-카프 알고리즘해시를 활용한 문자열 검색 수식에 의한 해시 값을 한칸씩 이동하면서 구하고 본문 해시 값과 패턴 해시 값이 같은지 여부를 확인해시 충돌 시 이는 무시해도 되며 본문 해시와 패턴 해시..
[알고리즘]그래프(최소신장트리, 다익스트라) 최소 신장 트리란그래프의 속성을 가지고 있으며 간선에 가중치를 추가 한 그래프의 하위 개념인 트리최소한의 비용으로 모든 도시를 연결하는 도로를 설계하는 문제를 풀기 적합한 알고리즘간선의 가중치를 기준으로 사이클을 제거하여 필요한 정보만 가지는 방식 가중치를 가진 트리 / B를 시작으로가중치에 따라 사이클을 제거하고 빠른 길을 찾은 트리 최소 신장 트리 알고리즘가장 작은 가중치를 가지는 트리를 만드는 알고리즘 - 프림(Prim) 알고리즘 : 정점에 연결 된 간선의 가중치 중 가장 작은 가중치의 간선을 연결해 나가는 방식- 크루스칼(kruskal) 알고리즘 : 모든 간선의 가중치를 조사하고 정렬 후 순서대로 연결해 나가는 방식-> 최소 신장 트리에서 발생하는 사이클은 깊이 우선 탐색 방법으로 해결할 수 있지..

반응형