알고리즘
-
알고리즘 문제 사이트에서, 정답코드와 테스트 케이스를 공개해야 하는 이유책, 강연, 스터디 2020. 4. 11. 11:31
ALGOSPOT, BOJ, Leetcode 등의 사이트에서 알고리즘 문제를 풀어 보면서, 정답코드와 테스트 케이스를 공개하는 것이, 알고리즘 문제풀이를 공부하는대 더 도움이 된다고 생각하게 되었습니다. 물론 공개하지 않는 것도 나름의 이유가 있을 것이구요, 이글에서 공개 여부에 따른 장단점을 알아보고, 문제풀이를 공부하는대 보다 도움이 되는 방향이, 공개인지, 비공개인지 대해서 이글에 적어 보고자 합니다. 이글에서 정답코드는 어떤 알고리즘 문제의 모든 테스트케이스를 통과한 코드를 말합니다. 테스트 케이스는, 특정 알고리즘 문제를 올바르게 풀어낸 코드 인지 확인하기 위한, 입력/출력의 한쌍을 뜻합니다. 일반적으로, 한 알고리즘 문제는 몇개에서 몇십개(또는 그 이상)의 테스트 케이스를 가지고 있구요, 코드가..
-
[후기] 2019 카카오 인턴십 코딩 테스트, 실전 모의고사카테고리 없음 2020. 3. 29. 08:15
https://programmers.co.kr/competitions/145/kakao-internship-test 2019 카카오 겨울 인턴십 기출문제를 풀어보는 모의고사입니다. 어제 3월 28일 오후에 모의고사가 있었어요. 결과는... 반은 넘게 맞췄네요 ^^a 아쉽게도 문제풀이에 대한 포스팅은 작성할 수 없네요. ( * 작성할 수 없는 이유는 오른쪽 링크 참고하세요. https://blog.niceb5y.net/2019-kakao-developer-winter-internship-solution/ ) 그래도 좀 테스트 내용이 궁금하다. 아래 링크를 참고하세요. https://zoomkoding.github.io/codingtest/2019/11/09/2019-kakao-winter-intern-1...
-
Prefix sum / 누적합, 구간의 합 구하기카테고리 없음 2020. 1. 21. 11:12
N - Slimes /atcoder.jp (https://skysign.tistory.com/170) 문제에서 사용된 알고리즘으로, prefix sum 알고리즘이 있습니다. prefix sum을 활용하면, 1차원 배열이 있다고 할 때, 1차원 배열의 특정 구간 x ~ y 까지의 합을 빠르게 구할 수 있습니다. \begin{aligned} 1 \leq n \leq N \\ a_x \in ( a_1 ... a_n ) \\ a_y \in ( a_1 ... a_n ) \\ 1 \leq x < y \leq N \\ \end{aligned} 자바 코드는 아래와 같습니다. long[] as = new long[N+1]; long[] prefixSum = new long[N+1]; for(int i=1; i