본문 바로가기

분류 전체보기115

[C++] 배열 (feat. 바킹독) 배열의 성질 O(1)에 k번째 원소를 확인/변경 가능 추가적으로 소모되는 메모리의 양(오버헤드)가 거의 없음 cache hit rate가 높음 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약이 걸림 시간 복잡도 임의의 위치에 있는 원소를 확인/변경 : O(1) 원소를 끝에 추가/제거 : O(1) 임의의 위치에 원소를 추가/제거 : O(N) 실제로 임의의 위치에 원소를 추가/제거하는 함수를 작성해보자 void insert(int idx, int num, int arr[], int& len){ len++; int tmp; for(int i=len; i>idx; i--){ //맨 끝에서부터 반복문 arr[i] = arr[i-1]; } arr[idx]=num; } void erase(int idx, int .. 2023. 9. 13.
[JSP][MAC M1]이클립스 환경 설정 + 톰캣 연동 학교에서 jsp 웹서비스 설계 수업을 듣고 있는데, 환경 설정에 관련된 수업자료가 모두 윈도우 기준으로 작성이 되어 있어서 따로 인터넷으로 검색해보면서 환경 설정을 완료했다.. 추후에 또 이클립스로 서버 환경 설정을 할 때를 대비하여 문서로 작성해놓는다!😭😭 기본적으로 JAVA와 JDK는 이미 설치가 되어있는 상황이었으므로 톰캣 설치와 이클립스 설치부터 시작해본다! 이클립스 같은 경우는 이미 설치가 되어 있었는데, 서버를 연동하기 위해선 다른 버전으로 다운로드 받아야하더라..(이 부분을 잘 모르고 계속 server메뉴를 찾았는데 없어서 고생했다ㅠ) 기존에는 위의 Eclipse IDE for Java Developers를 다운로드 받았었는데, 웹서버 연동을 위해선 아래의 Web Developers 버전을 .. 2023. 9. 13.
[알고리즘]구현 머릿속에 있는 알고리즘을 정확하고 빠르게 프로그램으로 작성하기 구현 하기 까다로운 문제 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 특정 소수점 자리까지 출력해야하는 문제 문자열이 입력으로 주어졌을 때 한 문자 단위로 끊어서 리스트에 넣어야하는(파싱을 해야 하는) 문제 등 알고리즘 중 "구현"은 어떻게 풀면 될지 대략 감은 오는데, 막상 코드로 옮기려니 무엇부터 작성해야 할지 모를 수 있다.. 또한 프로그래밍 문법을 정확하게 숙지하지 못했거나, 라이브러리 사용 경험이 부족하면 구현 유형의 문제를 풀 때 불리하다. 예를 들어, 파이썬으로 코테를 보는데 N개의 원소가 들어 있는 리스트에서 R개의 원소를 뽑아 한줄로 세우는 경우(순열)을 구해야 하는 문제를 만나면 어떻게 할것인가?? 무작정 기능을 전.. 2023. 9. 13.
[알고리즘]그리디 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 🧤 그리디(탐욕법)이란? ⇒ 나머지 경우의 수를 다 제쳐두고 가장 최선의 방법 한개만 파고 들어서 문제를 푸는 방법이다. 예를 들면 최소동전 문제가 있다. (ex. 동전으로 1400을 만들때 동전을 가장 적게 쓰는 경우의 수 찾기) ⇒ 매 순간 가장 좋아보이는 방법을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 💡 그리디문제는 이 문제가 그리디인가? 반례가 있는것은 아닐까? 라는 고민하는 것이 가장 어렵다고 한다. 그래서 끊임없이 이 문제를 그리디로 풀 수 있는지, 반례가 있을지 없을지 고민하는것이 정상이라고 한다. 그리디 알고리즘 문제는 자주 정렬 알고리즘과 짝을 이뤄 출제된다. 대표적인 문제 유형이 "거스름돈을 동전으.. 2023. 9. 11.