분류 전체보기

백준 오답노트/그래프와 순회

백준 - 그래프와 순회 1260 DFS와 BFS문제 / 문제풀이, 해설 링크

https://www.youtube.com/watch?v=d3R1s_OmwAk DFS와 BFS에 대한 해설은 이 영상을 참조하는게 좋을 것 같다. 나도 접근 방법을 아예 몰랐기 때문에 이 영상으로 공부했다. DFS는 깊이 우선, BFS 너비 우선 DFS는 한 곳만 죽어라 파고, BFS는 여러개를 골고루 판다는 느낌이다 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273import java.io.BufferedReader;import java.io.IOException;import java.io.InputStrea..

백준 오답노트/투 포인터

백준 - 투 포인터 1450 냅색 문제 / 문제풀이, 오답

= 내가 접근 방법 ( 틀림 ) = 처음 내가 접근한 방법은 부분합을 구할 때 사용한 알고리즘을 이용했다. 처음 합은 0 0

백준 오답노트/투 포인터

백준 - 이분 탐색 1920 수 찾기 문제 / 문제풀이, 알고리즘 복습

= 접근 방법 = 2중 for문을 이용하면 분명 시간 초과로 실패하기 때문에 이분 탐색을 알고리즘을 이용해서 시간 복잡도를 O(logN)으로 해결하자. 1. n개의 정수를 담은 배열을 정렬한다. ( Arrays.sort ) 2. 이분 탐색 알고리즘으로 m개의 정수가 존재하는지 확인한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 import java.io.BufferedReader; import java.io.IOException; import java.io.I..

백준 오답노트/DP

백준 - DP 2449번 전구 / 문제풀이, 오답노트

= 접근 과정 ( 틀림 ) = 이렇게 N개의 전구와, K가지의 색 => 최대 200개의 전구, 최대 20개의 색이므로 완전 탐색을 이용하면 시간 초과로 분명히 오답! => O(N!), 이유는 N개의 색이 모두 다 다를 수 있기 때문 이러한 문제는 DP를 이용해서 시간을 줄이는게 핵심이다. 처음 나는 재귀 함수를 이용해서, 이미 거친 전구들은 return하는 형식으로 문제를 접근했다. 1. int[] arr = new int[n] 배열에 1, 1, 2, 3, 3, 3, 2, 2, 1, 1의 값을 넣고 0번 index의 값을 2로 바꿨을 때, 인접한 값(1번 index)이 0번째 값(1)이랑 같을 때 같이 2로 변경해주고 아니면 return을 하는 형식으로 count를 했다. 2. 모든 값이 k로 다 통일 ..

Spring

뷰 리졸버 - /WEB-INF/views/ + .jsp 자동 설정

뷰 리졸버 - InternalResourceViewResolver 스프링 부트는 InternalResourceViewResolver 라는 뷰 리졸버를 자동으로 등록하는데, 이때 application.properties 에 등록한 spring.mvc.view.prefix , spring.mvc.view.suffix 설정 정보를 사용해서 등록한다

알고리즘/소수 구하기 - 에라토스테네스의 체

에라토스테네스의 체 알고리즘 - 소수 구하기 알고리즘

우리는 에라토스테네스의 체(Sieve of Eratosthenes)라는 방법을 통해 보다 쉽게 소수를 찾아낼 수 있습니다. 이름 그대로 체를 통해 무언가를 걸러내듯이 소수를 찾는 방법입니다. 일반적으로 소수만 구하려면 2중 for문을 이용해 시간 복잡도는 O(N^2)라고 판단할 수 있다. 에라토스테네스의 체 알고리즘을 이용하면 시간 복잡도는 O(Nlog(logN))이다. 배수를 삭제하는 연산으로 바깥 for문을 생략하는 경우가 발생하기 때문이다. 찾을 범위까지 수를 나열한 다음, 소수가 아닌 1을 지웁니다. 1 다음으로 큰 소수인 2를 남겨두고 2의 배수를 모두 지웁니다. 2 다음으로 큰 소수인 3을 남겨두고 3의 배수를 모두 지웁니다. prime(n) 다음으로 큰 소수인 prime(n+1)을 남겨두고 ..

초보병일이
'분류 전체보기' 카테고리의 글 목록 (13 Page)