퀵 정렬(Quick Sort)
분할 정복 알고리즘의 대표적인 예시이며 피봇을 기준으로 정렬해 나가는 정렬 방법이다.
분할 정복 알고리즘의 대표적인 예시이며 피봇을 기준으로 정렬해 나가는 정렬 방법이다.
배열의 모든 요소를 앞에서부터 이미 정렬된 배열과 비교하여 적절한 위치를 찾는 정렬 방법이다.
인접한 두 원소를 비교하며 정렬하는 방법이다.
학기 초에 자주 접해서 익숙하다.
위 움짤은 마약같다.
주어진 배열에서 가장 작은 숫자를 앞으로 옮겨가며 정렬하는 방법이다.
내가 만들고 싶은건 아니고 부탁받았다.
내용은 아래와 같다.
- 팀은 월 화 수 목 금
- 세션은 보컬 신디 베이스 기타 드럼
- 각 팀마다 세션에 들어가는 인원이 최소 한 명 이상은 있어야 함
- 팀의 특정 세션의 최소, 최대 인원수를 정하고 돌릴 수 있으면 좋겠음
- ex) 월요일팀 보컬 1~2 기타 1~3 베이스 2 신디 2~3 드럼 2
- 이름, 가능한 세션(복수선택 가능), 가능한요일(복수선택 가능), 희망하는 최대 팀 개수를 입력
- 팀을 짤 때 둘 이상의 세션에 한 사람만 들어가면 안됨
- ex) 보컬 A, 기타 A, 신디 B, 베이스 C, 드럼 D
- 희망하는 최대 팀 개수가 2 이상인 사람을 팀에 그보다 적게 넣어도 팀이 짜진다면 굳이 더 넣을 필요 없음
- 꼭 한 팀에 붙어야 되는 사람을 정할 수 있으면 좋겠음 (희망사항ㅎㅎ)
- ex) E랑 F는 꼭 같은 팀이어야 한다.
크롬 확장 프로그램에 갑자기 꽂혀서 방학 때 낭비되는 시간도 아깝고 공부도 할겸 시작했다.
웹과 자바스크립트에 대해 무지한 상태에서 시작한 터라 시행착오를 많이 겪었다.
크롬 익스텐션으로 주제 설정.
구글링해가며 구동방식 이해.
개발할 기능 구상.
유튜브 동영상 시청 시, 시청중인 위치를 영상 제목과 함께 북마크해 모아주는 기능 구상.(onetab에서 아이디어 얻음)
현재 시청중인 분, 초를 가져올 방법을 생각해야 함.
html body태그에서 모든 단어들을 가져오기 => 띄어쓰기로 스플릿 해서 구분 => 줄바꿈으로 스플릿해서 분, 초 가 담긴 인덱스로 화면에 출력까지 성공.(아마 더 쉽게하는 방법이 있을 것)
문제점
추가 할 기능
이전의 반도체 설계 문제와 동일하게 최장 증가 수열을 구하는 문제다.
2020년 4원 7일 포스트 수정
저 문제 풀 때는 dp가 뭔지도 몰랐다.
이번엔 동적 계획법으로 풀어봤다.
dp[i]에 arr[i]이전의 값들을 비교하며 arr[i]보다 작은 값이 있다면 그 때의 dp[]에 담겨있는 값 + 1을 dp[i]에 넣는다. arr[i]이전의 모든 수에 위 과정을 반복했을 때 가장 큰 수가 dp[i]가 된다.
마지막으로 dp[]에 담겨있는 값 중 가장 큰 값이 최장증가수열의 길이가 된다.