어?처음부터 이럴 생각은 아니었지만, 새벽에 하다보니 이런 결과가 나오게 되었다. 나중에 하는 걸로 하고일단 개인적으로 cs를 공부하고 싶다는 생각이 들어서 novice high의 문제집을 이용해 자료구조 & 알고리즘복습을 해볼 것이다.우리가 이해하기 쉽게 작성한 코드
어제 봤던 문제와 같은 문제들이 많아서 1문제 빼고 다풀었다!하나는 정수형 숫자들 나열하는 문젠데 한번 찾아봐야겠다.코드를 짤 때에는 효율성을 많이 따지게 된다. 그래서 우리는 일단 시간 복잡도에 대해 알아 볼 것이다.우리가 맨 처음 풀었던 문제들을 보면 대부분 루프를
(위의 진단은 다음에...)이번엔 arr.sort()만으로 하는 정렬이 아닌 실제로 많이 하는 정렬에 대해 알아보자.이름 대로 거품이 껴 있는 정렬방식이다.왜 거품이 껴있냐면 어떤 상황이든 O(n^2)의 수행시간이 걸리기 때문이다.코드를 보자면이렇게 정렬될 때 까지 배
이하 동적계획법 알고리즘을 DP라고 부를겁니다.대부분 이야기하는 DP는 큰 문제에 대해 작은 문제들로 쪼개서 먼저 해결하며 그 결과들을 이용해 큰 문제를 비교적 간단하게 해결하는 기법이다.이 기법을 그림으로 보자면 다음과 같다.점점 야금야금 작은 문제들을 해결하며 큰
그리디 알고리즘에 소개하기 전에 우리는 먼저 짚고 넘어가야 할 것이 있다.그것은 앞에서 봤던 dp 와 그리디가 헷갈릴 수 있다는 점이다.이번엔 그 부분을 중점으로 다루고 예시로 코드트리에 있는 기초 문제 3개를 볼 예정이다.그리디라는 단어 자체의 뜻은 탐욕적인 이라는