문제 : https://school.programmers.co.kr/learn/courses/30/lessons/131705처음에 조합 알고리즘 사용해서 풀어야 겠다하는 아이디어는 있었는데, 문제 해결을 어떻게 해야할 지 모르겠어서 결국 답을 보고 삼중 for
문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/1845tip : 중복 제거 Set은 자료구조의 종류. 위 코드는 중복 제거 메서드가 아니다. set은 중복을 허용하지 않기 때문에 new Se
문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12982이 문제의 포인트는 배열을 먼저 오름차순으로 정리해주는 것이었다.Array.Prototype.sort() 사용sort()에 매개변수를
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/68935 느낀 점 안풀리는 문제는 붙잡고 있지 말고 그냥 다른 사람이 푼 풀이 보고 이해한 다음 풀어보기 => 나중에 다시 풀어본다. 새로 배운것 10
퀵 정렬의 과정 적절한 원소(대개 중위법으로 선정하는 것이 효율적이다.) 하나를 기준(피벗, pivot)으로 삼는다. 그보다 작은 것을 앞으로 빼내고 그 뒤에 피벗을 옮겨 피벗보다 작은 것, 큰 것으로 나눈다. 나누어진 각각에서 다시 피벗을 잡고 정렬해서 각각의 크기가
힙 정렬 ![](http://upload.wikimedia.org/wikipedia/commons/f/fe/Heapsortexample.gif ) 힙 정렬은 힙 트리를 구성하여 내림 차순 정렬하는 방식을 말한다. 힙이란? https://velog.io/@zoepark
완전 이진 트리의 일종여러 개의 값들 중에서 최솟값이나 최댓값을 빠르게 찾아내도록 만들어진 자료구조반 정렬 상태(느슨한 정렬 상태: 항상 큰 값이 부모 노드에 있고, 작은 값이 자식 노드에 있는 정도로만 정렬되어 있다는 의미이다.)중복된 값을 허용한다.최대 힙(max
병합 정렬은 분할 정복(divide and conquer) 알고리즘을 사용하는 . 병합 정렬의 과정은 다음과 같습니다. 정렬되지 않은 초기 리스트(배열)가 주어집니다. 분할 :
배열이 인자로 들어오는 경우,배열을 head와 tail로 재귀적으로 정의할 수 있다.head는 배열의 첫요소, tail은 head가 제거되고 남은 배열을 말한다.base case를 recursive case보다 먼저 써주는 이유는, 효율성이다. recursive cas
재귀(recursion) 함수 > 재귀 함수란? 자기 자신을 호출하는 함수 재귀를 이용하여 문제를 해결하는 방법은 문제를 가장 작은 단위로 쪼개는 것이다. > 재귀는 언제 사용하는 것이 좋을까? 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우 중첩된
ABCheck 문제: 문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴해야 합니다.'a'로 시작해서 'b'로 끝나는 길이 5의 문자열'b'로 시작해서 'a'로 끝나는 길이 5의 문자열입력인자 1 : strstring 타입의 알파벳 문자열출력boole
return문은 절대로 for문 안에 쓰지 않기가장 큰 혹은 작은 것(max/min) 리턴할 때는, 변수 선언하고 이 변수에 할당된 값과 다른 값 비교해서 더 크거나 작은 것으로 대체하는 식으로 풀기빈 문자열 혹은 빈 배열 조건은 .length===0 이용해서 풀기.