분류 : 큐, 시뮬레이션 초밥의 회전을 나머지연산을 이용하여 인덱싱을 간편하게 할 수 있습니다. 초기세팅 1. 0부터 k개의 초밥번호를 Q에 넣는다 (7,9,7,30) 2. 하나씩 넣으면서 (초밥종류배열[초밥[i]]==0) 이라면 cnt++ 한다. 3. 초밥종류배열[초밥[i]]++ 한다. 4. Max = cnt; 5. (초밥종류배열[쿠폰초밥] == 0) 이라면 max +1 한다 6. end = k-1 N번 반복 1. Dequeue한다(U). 초밥종류배열[U]-- 한다. 2. 초밥종류배열[U]==0 이라면 cnt--한다. 3. end = (end+1)%N //이부분이 중요 회전초밥 이므로 끝이라면 다시 앞으로 가야함. 4. 초밥종류배열[초밥[end]]==0 이라면 cnt++한다. 5. 초밥종류배열[초밥[e..
안녕하세요 오늘은 퀵소트에 대해 학습해보겠습니다. C언어에서 퀵소트는 라이브러리로 제공되기때문에 이용하여 정렬을 빠른 시간에 할 수 있습니다. 하지만 라이브러리의 제약이 있다면 직접 구현해야 하는경우도 발생합니다. 그리고 퀵소트를 사용하기전에 어떤 원리로 작동하는지 알면 좋겠죠? 퀵소트의 특징은 아래와 같습니다. 주어진 배열을 적당히 크기별로 분리 후 분할하고 이것을 재귀적으로 반복한다. 최악 평균 번의 비교를 수행한다. void quickSort(int data[], int l, int r) { int left = l; int right = r; int pivot = data[(l + r) / 2]; while (left pivot) right--; if (left left) { quickSort(da..
안녕하세요 오늘은 코딩교육에 대해 설명해드리겠습니다. 2018년부터 코딩교육이 의무화되면서 이슈가 되고있습니다. 현재 우리는 정보사회에 살고있습니다. 정보사회 중에서도 소프트웨어가 중점이되고있는 사회입니다. 미래의 먹거리이며 삶을 주도할 것 입니다. 미국의 주간뉴스에서는 모든 일에 소프트웨어 역량이 필요하다고 하였습니다. 모든일에 소프트웨어를 사용하기 때문에 소프트웨어를 다루는 역량이 필요하며 그것을 잘 이해하기 위해서는 코딩역량의 중요성을 이야기합니다. 마크앤드리슨은 넷스케이프 브라우저 개발자이며, 유명한 밴처 창업가이며 페이스북 트위터 인스타그램의 투자자입니다. 마크 앤드리슨 또한 소프트웨어가 세상을 먹어치우고 있다고 이야기합니다. 그럼 소프트웨어란 도대체 어떤 것 일까요?소프트웨어는 사람이 하고싶은..
분류 : 다이나믹프로그래밍 이 문제는 냅색의 기본이론과 다른 방식으로 테이블을 작성해야 합니다. 냅색의 기본이론은 가로축이 책가방의 크기(사용할 수 있는 전체 크기) 입니다. 그리고 테이블 속의 데이터는 취할 수 있는 이득입니다. 하지만 이문제에서 비용의 범위가 10,000,000이며 개수가 100개이므로 최대 10억 개의 데이터를 채워야 합니다. 시간복잡도와 공간복잡도를 고려한 접근이 필요합니다. 냅색은 가로축이 크기이고 내용이 얻는 비용입니다. 이것을 역으로 생각해서 가로축을 비용, 내용을 크기로 해봅시다. 그럼 어떤 비용에서 최대 크기를 구할 수 있습니다. 5 60 30 10 20 35 40 3 0 3 5 4 Input이 위와 같을 때 그럼 위와 같이 표를 채울 수 있습니다. 가장 아래쪽 라인에서 ..
앱이름 : 대구지하철 어플리케이션개발자 : 최진원(초기 버전 개발자), 류성욱, 박상규 2012년부터 최진원 님이 관리 중인 대구 지하철 어플리케이션입니다. 3호선 업데이트 이후 3명이 투입되어 전체 리뉴얼을 하였습니다. 기능 : 검색, 최근 검색, 즐겨찾기, 가까운 역, 설정, 문의, 시간표 보기, 역정보 보기, 경로 찾기 다른 앱과 차별점은 현재 열차의 정보를 실시간으로 노선도에서 확인할 수 있습니다. 대구광역시에서 제공하는 열차 시간표를 이용하여 구현하였기 때문에 열차의 문제나 지연되는 경우가 발생할 수 있습니다.